testNG官方文档翻译-3 testng.xml

你可以通过以下几种不同的方法触发TestNG:

  • 用一个testng.xml文件
  • 使用ant
  • 从命令行触发

这个章节将会介绍testng.xml的格式(你也可以在下面找到关于ant和命令行的内容)。
关于testng.xml当前版本的DTD文件可以在这个网站找到:testng-1.0.dtd
这有一个testng.xml文件的示例:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
 
<suite name="Suite1" verbose="1" >
  <test name="Nopackage" >
    <classes>
       <class name="NoPackageTest" />
    </classes>
  </test>

  <test name="Regression1">
    <classes>
      <class name="test.sample.ParameterSample"/>
      <class name="test.sample.ParameterTest"/>
    </classes>
  </test>
</suite>

你也可以通过设置包名来定义xml文件:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" >
  <test name="Regression1"   >
    <packages>
      <package name="test.sample" />
   </packages>
 </test>
</suite>

在这个例子中,TestNG将会在test.sample包中寻找所有的类,然后将含有TestNG注解的类保留下来执行。
你也可以具体包含或者排除某些组和方法:

<test name="Regression1">
  <groups>
    <run>
      <exclude name="brokenTests"  />
      <include name="checkinTests"  />
    </run>
  </groups>
 
  <classes>
    <class name="test.IndividualMethodsTest">
      <methods>
        <include name="testMethod" />
      </methods>
    </class>
  </classes>
</test>

你也可以在一个testng.xml文件中定义一些新的组并添加属性,比如是否并行运行测试,需要多少个线程,是否运行JUnit测试等等。
默认情况下,TestNG将会按照XML中放置的顺序运行测试用例,如果你想以随机的顺序运行文件中的类和方法,需要将preserve-order属性设置为false。

<test name="Regression1" preserve-order="false">
  <classes>
 
    <class name="test.Test1">
      <methods>
        <include name="m1" />
        <include name="m2" />
      </methods>
    </class>
 
    <class name="test.Test2" />
 
  </classes>
</test>

请通过查询DTD文件来查看完整的特性。

posted @ 2017-03-01 14:32  suntingme  阅读(208)  评论(0编辑  收藏  举报