如何在特定组中(从命令行)运行TestNG运行测试?

时间:2010-08-19 21:04:02

标签: java unit-testing command-line testng

我正在从命令行调用TestNG,如下所示:

java org.testng.TestNG -groups "foo" testng.xml

...目的只是运行带有以下注释的测试:

@Test(groups = { "foo" })

...但它正在运行我的所有测试。我是否需要更改我的testng.xml文件?

<suite name="BarSuite" verbose="1">
  <test name="AllInPackage">
    <packages>
      <package name="com.example.bar"/>
   </packages>
 </test>
</suite>

TestNG是否忽略-groups命令行参数,因为testng.xml说要运行包中的所有测试?如果是这样,我应该如何更改我的testng.xml文件?

2 个答案:

答案 0 :(得分:1)

你完全正确:如果指定了testng.xml,它优先于命令行开关。

只需将以下内容添加到XML文件中:

  <groups>
    <run>
      <include name="foo"  />
    </run>
  </groups>

答案 1 :(得分:1)

<强>爪哇:
使用TestNG在特定组中运行测试非常简单:
1)在命令行中打开项目文件夹
例如:cd C:\FunctionalTests
2)按组运行测试

mvn test -Dgroups=group1,group2

group1,group2 - 测试组的名称
example in java

NB!
如果您的项目构建经理是maven.,则mvn test命令有效 如果你不知道,你正在使用什么样的建筑经理,你可以通过检查(即)项目中的pom.xml来验证它