TestNG的官方文档的中文翻译版第3章,原文请见 http://testng.org/doc/documentation-main.html
3 - testng.xml
调用TestNG由几种不同方法:
* 使用testng.xml文件
* 使用ant
* 从命令行
这节描述testng.xml的格式(文档的后面会讲到ant和命令行)。
当前testng.xml的DTD文件可以从官方找到:http://testng.org/testng-1.0.dtd。(为了方便使用,你可能更喜欢浏览HTML版本)。
下面是testng.xml文件的一个例子:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
<! 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 ="Nopackage" >
< classes >
< class name ="NoPackageTest" />
</ classes >
</ test >
< test name ="Regression1" >
< classes >
< class name ="test.sample.ParameterSample" />
< class name ="test.sample.ParameterTest" />
</ classes >
</ test >
</ suite >
你可以指定包名替代类名:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
<!
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 >
< suite name ="Suite1" verbose ="1" >
< test name ="Regression1" >
< packages >
< package name ="test.sample" />
</ packages >
</ test >
</ suite >
在这个例子中,TestNG将在包test.sample中查找所有的类,并只保留带有TestNG annotation的类。
你同样可以指定包含或不包含的组和方法:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
<
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 >
< 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测试,等等...
请查看DTD文件了解完整的特性列表。