我有@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
答案 0 :(得分:1)
boolean passed = false;
@Theory
public void testMethods(Object data){
assumeTrue(!passed);
// testing here
passed = true;
}
使用假设,跳过测试而不报告失败。
答案 1 :(得分:-1)
对我不起作用,我的情况是:
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
}
测试用例继续运行....
并且使用assumeTrue使得测试用例也失败了。 感谢