Пометить юнит-тест как ожидаемый сбой в JUnit4 - PullRequest
4 голосов
/ 05 мая 2011

Есть ли расширение для JUnit4, которое позволяет пометить некоторые тесты как "ожидаемые сбои"?

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

Мои критерии приемки:

Scenario: A successful test tagged @wip is recorded as failure
    Given a successful test marked @wip
    When the test is executed
    Then the test is recorded as failure.

Scenario: A failing test tagged @wip is recorded as fine
    Given a failing test tagged @wip
    When the test is executed
    Then the test is recorded as fine.

Scenario: A successful test not tagged @wip is recorded as fine
    Given a successful test not tagged @wip
    When the test is executed
    Then the test is recorded as successful.

Scenario: A failing test not tagged with @wip is recorded as failure
    Given a failing test not tagged with @wip
    When the test is executed
    Then the test is recorded as failure.

Ответы [ 2 ]

8 голосов
/ 05 мая 2011

Короткий ответ , насколько мне известно, ни одно расширение не сделает этого, и, по моему мнению, оно бы победило всю цель JUnit, если бы оно существовало.

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

Можно ожидать, что AssertionError или Exception.

@wip
@Test(expected=AssertionError.class)
public void wipTest() {
   fail("work in progress");
}

Создание ярлыка в вашемIDE для этого не должно быть слишком сложно.Конечно, я предполагал, что вы пометите тест с помощью аннотации в исходном коде.

По моему мнению, вы спрашиваете против цели JUnit, но я понимаю, как его использовать.

В качестве альтернативы можно было бы реализовать WIPRunner с аннотацией WIP и каким-то образом заставить его принимать неудачи тестов с аннотацией WIP.

Если вы интегрируетесь с инфраструктурой BDD, я бы предложил способчтобы позволить ему запускать модульные тесты, которые вы пометили @wip отдельно, и решить в ваших методах BDD, если результат в порядке.

4 голосов
/ 05 мая 2011

В аннотации @Ignore говорится, что не стоит беспокоиться о результате.

...