TestNG运行的核心就是配置文件testng.xml,只要是使用TestNG框架的测试,最终都是通过testng.xml发起的测试。所以说testng.xml是TestNG的核心。
testng.xml的定义实际非常复杂,平时使用的仅仅是九牛一毛的功能而已。本篇是官网相关章节的翻译,部分内容增加了作者的理解,并给出一些实际的示例说明。
testng.xml
TestNG可以通过如下方式运行:
(1)通过testng.xml
(2)通过ant
(3)通过命令行
本章节描述testng.xml的格式。
testng.xml遵循的DTD约束为testng-1.0.dtd。(DTD约束是指对使用的XML进行的格式限定,感兴趣的同学可以自行学习一下)。下载链接为:https://testng.org/testng-1.0.dtd。查看HTML版本更方便(不需要下载):http://testng.org/testng-1.0.dtd.php
如下是一个testng.xml的示例:
对应的,我们可以给出测试的代码和运行结果如下。
我们可以通过指定包名的方式进行测试,而不需要指定明确的类名。
在上述示例中,TestNG会在test.sample包下面寻找带有TestNG注解的类进行处理。上述同样的代码运行结果如下。
我们还可以通过关键字设定的方式指定执行或排除的组或方法。
不仅可以使用在代码中定义好的groups,我们还可以在testng.xml中定义新的组,并且配置一些额外的细节,如是否并行执行测试,如果并行使用多少线程,是否用JUnit执行测试等等。这部分会在后续的测试组章节详细说明。
在默认情况,TestNG会根据XML文件中的配置顺序执行测试。当我们配置preserve-order属性为false时,TestNG会以一种不可预见的顺序运行testng.xml中配置的测试类,测试方法。
DTD文档中给出了全部的信息,后续的文章也会继续介绍testng.xml的特性。
敬请期待下一章节:运行方式的彩蛋。
原文来自https://testng.org,有表述错误的地方欢迎评论指正。