Несколько тестов JUnit с использованием FEST - PullRequest
2 голосов
/ 29 января 2011

Я написал несколько методов тестирования JUnit для тестирования моего Java Swing GUI (используя FEST ).Мой класс имеет следующий формат:

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 в Eclipse показывает «Runs: 2/3» после завершения первого теста, но непрогрессировать дальше или показывать ошибки.

Есть ли что-то, что я делаю не так?Я использую JUnit 4.8.1 и FEST 1.2.

Ответы [ 2 ]

3 голосов
/ 29 января 2011

Я подозреваю, что у вас есть побочный эффект в testA, который блокирует выполнение кода в testB.Трудно сказать, что происходит без подробностей в testA и testB, но я могу дать вам некоторые общие рекомендации.

Вы хорошо начинаете, комментируя testA.Когда вы сделаете это, запустите и testB, и testC?

Попробуйте углубиться в testA и медленно комментировать детали, которые находятся под testA, пока вы не выполните тесты как testA, так иtestB.Как только вы это сделаете, вы по крайней мере знаете, , где проблема.

Например, если ваш код выглядит примерно так:

public void testA() {
    doX();
    doY();
    doZ();
    // Assert stuff
    ...
 }

закомментируйте всепосле doX() и посмотрим, что получится.Если это работает, раскомментируйте doY() и посмотрите, что произойдет.Если это не сработало, перейдите к doX() и начните комментировать и снова запускать тесты.

Это должно помочь вам точно определить, где что-то идет не так.Если вы все еще озадачены, когда узнаете об этом, вернитесь и задайте вопрос об этих деталях.

Удачи в поиске вашей ошибки!

0 голосов
/ 29 января 2011

Кажется, что ваш код в порядке.

Вы можете проверить, является ли каждый метод @Test независимым для других, каждый метод тестирования не должен иметь общий контекст. Убедитесь, что @Before и @After имеют правильное поведение.

...