Запуск аннотированного теста @Theory только один раз, пока не пройден

У меня есть класс @Theroy как:

@Datapoints data1, data 2 ..... data 10 and,

@Theory
testMethod (data1, data2, data3) {
 //do testing
 exit from testMethod once testing is passed
}

Я хочу пройти тестирование ровно один раз, но не запускать все возможные случаи точек данных.

Очевидно, я просто хочу проверить один раз и перейти к другому тесту, как только пройден.

Я не желаю System.exit() ... потому что я не покидаю jvm, а хочу только выйти из теста @Theory.

Thanks

2 ответа

boolean passed = false;

@Theory
public void testMethods(Object data){
    assumeTrue(!passed);

    // testing here

    passed = true;
}

Используйте Assume, который пропустит тесты, не сообщая о сбое.

Не работает для меня, мой случай:

boolean actual = false;
@Theory(nullsAccepted = false)
public void overlapIfFirstRangeEndsAfterSecondBegins(final Date start1,
        final Date end1, final Date start2, final Date end2) {
    // Assume ranges are valid
    Assume.assumeTrue(!actual);
    assumeThat(start1, before(end1));
    assumeThat(start2, before(end2));

    assumeThat(start1, onOrBefore(start2));
    assumeThat(end1,   onOrAfter(start2));

    actual = dateRangesOverlap(start1, end1, start2, end2);
    //this actual will be TRUE once when test is to be passed...then test must exit
}

Тест продолжался...

И с помощью предположения, что TestTase не удалось. Спасибо

Другие вопросы по тегам