我有一个场景,其中许多测试套件被添加到 TestNG 对象以供运行。我在类 TestClass 中有一个 testMethod()。我也在使用 dataProvider 。
我想知道当前TestSuite的测试方法是什么??
如何在不干扰 TestMethod 的 DataProvider 参数的情况下实现?
我有一个场景,其中许多测试套件被添加到 TestNG 对象以供运行。我在类 TestClass 中有一个 testMethod()。我也在使用 dataProvider 。
我想知道当前TestSuite的测试方法是什么??
如何在不干扰 TestMethod 的 DataProvider 参数的情况下实现?
这是塞德里克在很久以前在这个线程中看到的令人信服之后实现它的方式:
@DataProvider(name = "A")
protected Object[][] dp(ITestContext tc) {
return new Object[][] {
{ tc }
};
}
@Test(dataProvider = "A")
public void testA(ITestContext tc) {
System.out.println("SUITE NAME:" + tc.getSuite().getXmlSuite().getName());
}
得到了答案。
从Beust 的书中我得到了答案。
定义 dataProvider 方法有不同的方法:
@DataProvider
public void create() { ... }
@DataProvider
public void create(Method method) { ... }
@DataProvider
public void create(ITestContext context) { ... }
@DataProvider
public void create(Method method, ITestContext context) { ... }
最后一种方法帮助我解决了我的问题。此方法提供了将要调用的方法引用以及测试上下文。