Вопрос

Я написал несколько методов испытаний 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 иметь правильное поведение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top