Запуск аннотированного теста @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 не удалось. Спасибо