TestNG ::如何在TestMethod中获取TestSuite名称?

时间:2013-10-28 16:00:29

标签: java testng selenium-grid

我有一个场景,其中许多测试套件被添加到TestNG对象以便运行。我在类TestClass中有一个testMethod()。我也在使用dataProvider。

我想知道测试方法里面是当前的TestSuite ??

如何在不干扰TestMethod的DataProvider参数的情况下实现?

2 个答案:

答案 0 :(得分:0)

这是Cedric在很有说服力之后实现它的方式,正如你在很久以前在this帖子中看到的那样:

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

答案 1 :(得分:0)

得到答案。

book by 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) { ... }

最后一种方法帮助我解决了我的问题。 此方法提供了将要调用的方法引用以及测试上下文。