如何在testng套件中的单个测试标签下运行一组类?

时间:2017-11-22 14:07:26

标签: java maven unit-testing maven-2 testng

我将此testng套件隔离在测试标签下。

这是其他问题的不同内容(TestNG surefire, run suite with maven command line)。在这里,我需要在test标签下执行一组类,而不是特定的类,也不需要特定的包。

<suite name="Suite1" verbose="1" >
      <test name="set-1" >
        <classes>
           <class name="com.test.ejb.AdminServiceTest" />
           ....
        </classes>
      </test>
      <test name="set-2">
        <classes>
            <class name="com.test.ejb.ServiceTestBase" />
            ...
        </classes>
      </test>
        <test name="set-3">
        <classes>
            <class name="com.test.ejb.RazakIeraTest" />
            ...
        </classes>
      </test>
        <test name="set-4">
        <classes>
            <class name="com.test.ejb.PayCheckTest" />
            ...
        </classes>
      </test>
    </suite>

我有一个套件,其中包含一组测试标签下的类。我想只执行一个测试标记。

我们可以使用此cmd mvn test -Dtest="className"选择单个班级。

我试过-Dtestnames = set-5(http://testng.org/doc/documentation-main.html)。但它不起作用。

我们有没有办法使用maven命令执行测试标记?

2 个答案:

答案 0 :(得分:0)

您可以使用以下命令

java -cp ".\bin;.\lib\*;" org.testng.TestNG testng.xml -testnames Test1

您还可以在-testnames参数

中提供测试名称列表

看看here

答案 1 :(得分:0)

我假设您使用带有maven-surefire-plugin的maven来运行测试,对吗?

然后在插件的属性部分添加&#39; testname&#39;将某个变量作为值

<properties>
    <property>
        <name>testnames</name>
        <value>${testng.testnames}</value>
    </property>
</properties>

您可以通过指定变量值

来过滤测试
mvn test -Dtestng.testnames=set-1,set-2