在Java和Eclipse的testng测试中使用invocationCount

在Java和Eclipse的testng测试中使用invocationCount,java,eclipse,testng,Java,Eclipse,Testng,我有一个普通的测试,称之为 public void generalTest(boolean var1, boolean var2) { if (var1) { ... } else { ... } if (var2) { ... } else { ... } } 我有一个类级别int countNumber初始化为0;然后我做这个 @Test(enabled = true, dataProvider = "getE

我有一个普通的测试,称之为

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);
}
@Test(enabled=true,dataProvider=“getEmptyPhone”,invocationCount=4)
公共无效测试(文本上下文){
countNumber++;
布尔v1=计数数<3;
布尔v2=(计数编号%2)==0
一般测试(v1、v2);
}
countNumber
每次都增加,所以我得到所有布尔值的组合。有一件事是,
数据提供者
有点复杂,它执行大量soap消息传递。一旦我运行它,我可以在其他三个测试中使用相同的数据,但是在上面的测试中,每次都会调用数据提供程序。有没有一种方法可以让它第一次做数据提供者?我知道我可以只做一个测试,然后将like for(
booleanv:newboolean[]{true,false}
),但是如果测试失败,后面的测试将不会执行。有些测试可以通过,即使其他测试没有通过。有没有办法做到这一点

我想,如果我能使用“description”关键字,并使
countNumber
成为其中的一部分,那么测试失败将显示哪个迭代,这也太过分了