测试类:
public class TestTest2 {
@DataProvider
public Object[][] data() {
return new Object[][]{{"22"}};
}
@Test(retryAnalyzer = TestListener.class, dataProvider = "data")
public void test1(String... p) {
System.out.println("this is test1 " + p[0]);
assert false;
}
}
TestListener类:
public class TestListener implements IRetryAnalyzer {
private int failCounter = 0;
@Override
public boolean retry(ITestResult result) {
return ++failCounter <= 2;
}
}
如果运行此测试,请重试时出现错误
java.lang.IllegalArgumentException:参数类型不匹配。
如果@Test注释的dataProvider
属性将被删除,
IllegalArgumentException
将不会被抛出。发生了什么事?