我正在使用带有 Java 的 TestNG。
我有一个数据提供者方法
@DataProvider
public static Object[][] dataProviderMethod() {
return testCaseDataProvider;
}
和测试方法
@Test(dataProvider = "dataProviderMethod")
public static void executeTestCase (SheetProvider sheetData, boolean parallel) {
//some code
if(condition) {
//spawn threads
}
else {
//do not spawn threads. directly call run method.
}
}
现在在里面run()
我想决定测试是失败还是通过。Assert.fail();
我试图通过使用内部运行方法来做到这一点。它可以正常执行顺序执行,但会出现异常
Exception in thread "T3" java.lang.AssertionError: null
在并行执行中。
我知道这个问题是因为断言错误应该被测试方法捕获。因此,在顺序执行的情况下,它运行良好并且测试失败,但在并行执行的情况下,测试方法在我们调用 Assert.fail() 时已经执行。
谁能告诉我如何使 run() 方法的测试失败?