我有点困惑。
如何让TestNG报告测试错误?
// ...
@DataProvider(name = "foo")
public Object[][] provideData () {
throw new SomeRuntimeException("Some error occurred. The test configuration "
+ "is somehow incorrect.");
}
这只会导致测试跳过。该异常甚至没有记录。 将其移至构造函数只会记录异常,但这还不够......
我想要一条很大的错误消息。
目前,使用专用(自我)测试方法可以完成至少显示测试失败的工作......
无论如何,知道testNG对错误的定义是怎样的会很好。
感谢您的任何提示!
答案 0 :(得分:11)
这篇文章提出了一套公平的备选方案,并提供了详尽的解释:
Fail instead of Skip a Test when TestNG’s DataProvider throws an Exception
对我来说,最好的方法是为数据提供者添加测试,这里是想法的简要说明:
public class MyClass {
@DataProvider(name = "my-data-provider")
private Object [][] myProvider() {
// ...
}
@Test
public void testDataProviders() {
Assert.assertTrue(myProvider().length > 0);
}
@Test
// ... Real tests.
}