Многочисленные тесты JUNIT с использованием FEST
Вопрос
Я написал несколько методов испытаний JUNIT, чтобы проверить мой графический интерфейс качания на Java (используя Фестиваль) Мой класс в следующем формате:
public class Tests
{
@BeforeClass
public static void beforeClass() throws Exception { ... }
@Before
public void before() throws Exception { ... }
@After
public void after() throws Exception { ... }
@AfterClass
public static void afterClass() throws Exception { ... }
@Test
public void testA() { ... }
@Test
public void testB() { ... }
@Test
public void testC() { ... }
}
Когда я запускаю этот класс в Eclipse, он запускает только тест Testa, а не Testb или Testc. Если я прокомментирую Testa, TestB работает - так что, кажется, просто запускает первый тест каждый раз.
Junit in Eclipse показывает «пробеги: 2/3» после того, как он завершил первый тест, но не продвигается дальше или показывает какие -либо ошибки.
Что -то я делаю не так? Я использую JUNIT 4.8.1 и FEST 1.2.
Решение
Я подозреваю, что у вас есть побочный эффект в testA
это блокирует код в testB
от бега. Трудно сказать, что происходит без деталей в testA
а также testB
, но я могу дать вам общее руководство.
Вы хорошо начали, комментируя testA
. Анкет Когда вы делаете это, сделайте оба testB
а также testC
бежать?
Попробуйте сверлить в testA
и медленно комментируя детали в том, что находится под testA
Пока вы не запустите оба testA
а также testB
. Анкет Как только вы это сделаете, вы по крайней мере знаете куда проблема в.
Например, если вы код выглядит примерно как:
public void testA() {
doX();
doY();
doZ();
// Assert stuff
...
}
прокомментировать все после doX()
и посмотрите, что произойдет. Если это работает, то не почесть doY()
и посмотрите, что произойдет. Если это не сработало, то сверните в doX()
И начните комментировать и снова завметь ваши тесты.
Это должно помочь вам точно определить детали того, где дела идут не так. Если вы все еще в тупике, когда вы разбираетесь в этом, вернитесь и задайте вопрос вокруг этих деталей.
Удачи в поиске вашей ошибки!
Другие советы
Кажется, ваш фрагмент кода в порядке.
Вы можете проверить, является ли каждый метод @Test независимый Для других каждый метод испытаний не должен делиться тем же контекстом. Гарантировать @Before
а также @After
иметь правильное поведение.