8

考虑以下 TestNG 配置,它运行 pacakge 中的所有测试com.example.functional.*

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Functional1" verbose="1" >
  <test name="FunctionalTest"   >
    <packages>
      <package name="com.example.functional.*">
      </package>
    </packages>
  </test>
</suite>

为了拆分测试作业,添加了一些排除规则:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Functional1" verbose="1" >
  <test name="FunctionalTest"   >
    <packages>
      <package name="com.example.functional.*">
            <exclude name="com.example.functional.services.courier.*"></exclude>
            <exclude name="com.example.functional.optimization.*"></exclude>
            <exclude name="com.example.functional.initialization"></exclude>
            <exclude name="com.example.functional.tasks"></exclude>
      </package>
    </packages>
  </test>
</suite>

排除的包仍在执行中 - 知道为什么排除被忽略吗?

4

1 回答 1

10

* 是问题所在。排除 optimization.* 时,排除优化的子包,但不排除优化。

从排除标签中删除 * 应该这样做:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Functional1" verbose="1" >
  <test name="FunctionalTest"   >
    <packages>
      <package name="com.example.functional.*">
            <exclude name="com.example.functional.services.courier"></exclude>
            <exclude name="com.example.functional.optimization"></exclude>
            <exclude name="com.example.functional.initialization"></exclude>
            <exclude name="com.example.functional.tasks"></exclude>
      </package>
    </packages>
  </test>
</suite>
于 2013-06-10T11:23:20.543 回答