我正在使用IRetryAnalyzer运行失败的测试用例,并使用IAnnotationTransformer在运行时设置注释。对于使用数据提供程序的@Test,其结果令人奇怪。
我已设置重试限制3,即测试应重新运行3次。问题是: 如果第一个数据集的测试失败,则重试3次(如预期)。然后,对于所有剩余的数据集-重新运行计数为2。我不确定是2次重试还是1次1次重试。
这里是实现数据提供程序的类:
@Test(dataProvider = "data-source")
public void toolbarActionsOnShapes(String selectShape)
throws InterruptedException {
Assert.assertTrue(false);
}
@DataProvider(name = "data-source")
public Object[][] allShapes() {
return new Object[][] { { "Rectangle" }, { "Circle" }, { "Triangle" }
};
}
}
在运行此我得到输出: https://drive.google.com/open?id=1FxercluPinPiOOUAZKe_dMa6NvVMCE0j
对于每组数据,如果测试失败-应该进行3次重试。随附虚拟项目zip,以供参考。 https://drive.google.com/open?id=1Mt7V2TO4TWRKU9dN4FIFzprkDingUKaE 谢谢!!
答案 0 :(得分:0)
这是由于TestNG 7.0.0-beta1
中存在一个错误所致。有关更多详细信息,请参见GITHUB-1946。
我继续进行了修复,并将其作为我的拉取请求PR-1948
的一部分请利用TestNG 7.0.0-SNAPSHOT
来解决此问题。这应该是即将推出的TestNG 7.0.0-beta2
(或)7.0.0
(最终版本)的一部分。在这方面还没有决定。