如果我的TestNG DataProvider有一些逻辑,但结果是一个空的测试用例。Object[][]
我想让TestNG把这算作一次失败的测试。我希望 不 必须在DataProvider中加入逻辑,以检查 Object[][].length > 0
因为我的包里有很多这样类型的DataProviders。是否可以让TestNG标记 myTest
为失败或至少是跳过?
@DataProvider(name = "emptyDataProvider")
public Object[][] emptyDataProvider() {
// Some misc logic...
return new Object[][] { };
}
@Test(groups = {"beta"}, dataProvider = "emptyDataProvider")
public void myTest(final String param1) {
// some assertions
}
如果我没记错的话,如果你的数据提供者返回空对象,即测试数据为零,你会看到错误说明数据提供者在执行过程中返回了一个空值。
测试也会被标记为失败。这是默认的testNG行为。
如果要在内部处理它,你必须在Data Provider方法中输入逻辑,因为一旦返回空对象[][],执行将立即失败。