我有一般测试,称之为
public void generalTest(boolean var1, boolean var2) {
if (var1) {
...
} else {
...
}
if (var2) {
...
} else {
...
}
}
我的班级int countNumber
初始化为0;然后我这样做
@Test(enabled = true, dataProvider = "getEmptyPhone", invocationCount = 4)
public void test(TextContext context) {
countNumber++;
boolean v1 = countNumber < 3;
boolean v2 = (countNumber % 2) == 0
generalTest(v1, v2);
}
countNumber
每次都会增加,所以我得到了所有布尔值的组合。一件事是dataProvider
有点复杂,并且它会进行大量的肥皂消息传递。一旦我运行它,我可以在其他三个测试中使用相同的数据,但在上面的数据提供程序每次调用。有没有办法让我第一次做数据提供者呢?我知道我可以只进行一次测试并将其放入(boolean v : new boolean[] { true, false}
),但是如果测试失败,那么后面的测试将不会被执行。即使其他人没有,一些测试也可以通过。有没有办法做到这一点?
我想,如果我可以使用“description”关键字,并且让countNumber
成为其中的一部分,那么测试失败会显示哪个迭代也是太过分了?