使用 dataprovider 设置 expectedExceptions
Set expectedExceptions using dataprovider
是否可以在 @DataProvider
的 TestNG @Test
中设置 expectedExceptions
选项?如果有,是怎么做到的?
这是一个不直观的例子:
@DataProvider
private Object[][] methodABadArgsProvider() {
return new Object[][] {
{null, "arg2", "arg3"}, // expect NullPointerException
{"arg1", null, "arg3"}, // expect IllegalArgumentException
{"arg1", "arg2", null} // expect OperationNotSupportedException
}
}
@Test(expectedException = [tbd].class, dataProvider = "methodABadArgsProvider")
public void methodABadArgs(String arg1, String arg2, String arg3) {
testInstance.methodA(arg1, arg2, arg3);
}
DataProvider 可以访问测试上下文。通过 dp 是不可能的;但如果 AnnotationTransformer 允许执行您需要的操作,您可以使用它。
是否可以在 @DataProvider
的 TestNG @Test
中设置 expectedExceptions
选项?如果有,是怎么做到的?
这是一个不直观的例子:
@DataProvider
private Object[][] methodABadArgsProvider() {
return new Object[][] {
{null, "arg2", "arg3"}, // expect NullPointerException
{"arg1", null, "arg3"}, // expect IllegalArgumentException
{"arg1", "arg2", null} // expect OperationNotSupportedException
}
}
@Test(expectedException = [tbd].class, dataProvider = "methodABadArgsProvider")
public void methodABadArgs(String arg1, String arg2, String arg3) {
testInstance.methodA(arg1, arg2, arg3);
}
DataProvider 可以访问测试上下文。通过 dp 是不可能的;但如果 AnnotationTransformer 允许执行您需要的操作,您可以使用它。