你可以通过不同的方式调用testng:
- 从一个testng.xml文件;
- 从ant
- 从命令行
本节介绍testng.xml的格式(您将在ant和下面的命令行中找到文档)。
testng.xml的当前DTD可以在主网站上找到:http://testng.org/testng-1.0.dtd(为了方便起见,您可能更喜欢浏览HTML版本)。
Here is an example testng.xml file:
<!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>
您可以指定包名称,而不是类名称:
<!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,或继续阅读。