3 - testng.xml

TestNG的调用有以下几种方式:

  • testng.xml
  • ant
  • 命令行

这部分主要介绍testng.xml的格式。

当前testng.xml的DTD(文档类型定义(Document Type Definition)是一套关于标记符的语法规则)可以在 http://testng.org/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>

你可以指定package包名来代替类名,在这个例子中,TestNG会查找test.sample包内的所有类,并保证只有类有TestNG标注。

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

你也可以指定包含和排除的组和方法

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

 

你可能感兴趣的:(TestNG)