测试NG过滤器仅在套件中的第一个测试中进行分组

时间:2012-08-09 20:37:11

标签: testng

我正在运行TestNG而我正在尝试仅运行所有套件附加中的特定组,但只有第一个测试按组进行过滤。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Managemenet" parallel="methods" thread-count="100" preserve-order="false"  >
<test verbose="2" name="Chen Tests" parallel="tests" thread-count="100" >
     <groups>
          <define name="Sanity">
              <include name="mgmt_sanity"></include>
          </define>
         <define name="Regression">
              <include name="mgmt_regression"></include>
              <include name="mgmt_sanity"></include>
          </define>
         <define name="Smoke">
              <include name="mgmt_smoke"></include>
          </define>

    </groups>


    <classes>
        <class name="com.chen.auto.mgmt.chenTests">
        </class>
    </classes>
</test>

<test verbose="2" name="Dudu Tests" parallel="tests" thread-count="100" >
     <groups>
          <define name="Sanity">
              <include name="mgmt_sanity"></include>
          </define>
         <define name="Regression">
              <include name="mgmt_regression"></include>
              <include name="mgmt_sanity"></include>
          </define>
         <define name="Smoke">
              <include name="mgmt_smoke"></include>
          </define>

    </groups>
    <classes>
        <class name="com.chen.auto.mgmt.dudu">
        </class>
    </classes>
</test>
</suite>

有类似的open question,但没有答案 它看起来像一个bug。因此,即使使用所有并行选项,我也无法使用ReportNG。

有人如何让它发挥作用?

2 个答案:

答案 0 :(得分:0)

根据TestNG documentation,你可以定义groups of groups,这就是你要做的事情。但是,这只是创建组,您仍然需要通过指定<run>元素来定义要运行的组:

<test name="MyTest">
  <groups>
    <define name="GroupOfGroups1">
      <include name="group1"/>
      <include name="group2"/>
    </define>

    <define name="all">
      <include name="GroupOfGroups"/>
      <include name="group3"/>
    </define>

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

  <classes>
    <class name="org.test.MyTest"/>
  </classes>
</test>

这定义了TestNG调用者应该执行的所有测试。并行设置不会影响运行中包含哪些测试,而是如何执行这些选定的测试。您可以在同一parallel running中阅读有关TestNG中documentation page个测试的更多信息。

答案 1 :(得分:0)

升级到testNg 6.7 - 它肯定会解决您的问题。