使用dataprovider设置expectedExceptions

时间:2015-04-16 10:37:54

标签: java exception testng expected-exception testng-dataprovider

是否可以从expectedExceptions设置TestNG @Test中的@DataProvider选项?如果是这样,它是如何完成的?

这是一个非直观的例子:

@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);
}

1 个答案:

答案 0 :(得分:1)

DataProvider可以访问测试上下文。它不可能通过dp;但如果它允许你做你需要的东西,你可以使用AnnotationTransformer。