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文件来查看完整的特性。