Doe*_*son 10 java testing testng automated-tests unit-testing
我有点困惑.
如何让TestNG报告测试错误?
// ...
@DataProvider(name = "foo")
public Object[][] provideData () {
throw new SomeRuntimeException("Some error occurred. The test configuration "
+ "is somehow incorrect.");
}
Run Code Online (Sandbox Code Playgroud)
这只会导致测试跳过.该异常甚至没有记录.将它移动到构造函数只会记录异常,但这还不够......
我想要一个很大的错误消息.
目前,使用专用(自我)测试方法完成了至少显示一些测试失败的工作......
无论如何,很高兴知道testNG对错误的定义是什么样的.
谢谢你的任何提示!
Rom*_*nko 12
这篇文章提出了一套公平的备选方案,并提供了详尽的解释:
当TestNG的DataProvider抛出异常时,失败而不是跳过测试
对我来说,最好的方法是为数据提供者添加测试,这里是想法的简要说明:
public class MyClass {
@DataProvider(name = "my-data-provider")
private Object [][] myProvider() {
// ...
}
@Test
public void testDataProviders() {
Assert.assertTrue(myProvider().length > 0);
}
@Test
// ... Real tests.
}
Run Code Online (Sandbox Code Playgroud)