我有一个JAVA项目的TestNG测试套装,在那里我有一个
@Test(DataProvider =“ListOfObjects”)带注释的方法。它提供了大约20行数据的方法。(因此该方法运行20次。) 现在,我想运行这个类 2小时(SOAK相关测试的一部分。)平均来说,Class运行大约需要10分钟。所以我在思考或运行全班12次,因此考虑在类本身上使用 @Test(invocationCount = 20)。 有更好的想法吗?
答案 0 :(得分:0)
您可以在方法中提取测试,然后创建具有相当高的调用计数的测试方法。在该测试方法中,将时间与保存第一次运行的时间戳的变量进行比较,如果运行时间超过20分钟,则跳过测试。
答案 1 :(得分:0)
找到一个令人尴尬的简单解决方案: 重复整个测试套装如下
@Test
public void RepeatTestSuite() {
long startTime = new Date().getTime();
while(!isTestFinished(startTime)) {
List<String> suites = new ArrayList<String>();
suites.add("./SOAK_all41.xml"); //path of .xml file to be run-provide complete path
TestNG tng = new TestNG();
tng.setTestSuites(suites);
tng.run(); //run test suite
}