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

How to run a set of classes under single test tag in testng suite?

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

这与其他问题 (TestNG surefire, run suite with maven command line) 不同。在这里,我需要在不特定 class 或特定包的测试标签下执行一组 classes。

<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>

我有一个套件,在测试标签下有一组 classes。我只想执行一个测试标签。

我们有办法 select 单 class 使用此命令 mvn test -Dtest="className".

我试过 -Dtestnames=set-5 (http://testng.org/doc/documentation-main.html)。但是没有用。

我们有什么方法可以使用 maven 命令执行测试标签吗?。

您可以使用以下命令

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

您还可以在 -testnames 参数

中提供测试名称列表

看看

我假设你使用 maven 和 maven-surefire-plugin 来 运行 你的测试,对吗?

然后在插件的属性部分添加 'testname' 并将一些变量作为值

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

您可以通过指定变量值来过滤测试

mvn test -Dtestng.testnames=set-1,set-2