5.10 - Rerunning failed tests
套件中的测试失败时,每次testNG都会在输出目录中创建一个名为testng-failed.xml 的文件。这个xml文件包含只重新运行这些失败的测试方法的必要信息,容许只运行这些 失败的测试而不必运行全部测试。因此,一种典型的情况将是这样:
java -classpath testng.jar;%CLASSPATH% org.testng.TestNG -d test-outputs testng.xml
java -classpath testng.jar;%CLASSPATH% org.testng.TestNG -d test- outputs test-outputs\testng-failed.xml
注意testng-failed.xml将包含所有必要的依赖方法,所以可以保证运行失败的方法而 不运行任何被跳过的(失败)方法。
5.11 - JUnit tests
TestNG可以运行junit测试。所需要的只是在testng.classNames属性中指定junit测试 类,并设置testng.junit属性为true。
<test name="Test1" junit="true">
<classes>
<!-- 文档中文版(9)-重复失败测试,junit测试,jdk1.4支持-testng和junit区别"> -->
这种情况下TestNG的行为类似jnit:
* 类中所有以test*开头的方法将被运行。
* 如果测试类中有方法setUp(), 将在每次测试方法调用前被执行。
* 如果测试类中有方法tearDown(),将在每次测试方法调用后被执行。
5.12 - JDK 1.4
TestNG也可以在JDK1.4下工作。在这种情况下,需要使用发布的jdk1.4的jar文件(名 为testng-...-jdk14.jar)。唯一的差别是在于注解,jdk1.4下使用流行的XDoclet javadoc注解语法:
public class SimpleTest {
/**
* @testng.before-class = "true"
*/
public void setUp() {
// code that will be invoked when this test is instantiated
}
/**
* @testng.test groups = "functest" dependsOnGroups = "group1,group2"
*/
public void testItWorks() {
// your test code
}
}
javadoc语法的规则非常简洁,和jdk1.5注解的唯一差别是数组串数组需要特别写成单 独的,逗号或空格分隔的字符串。虽然值周围的双引号是可选的,但还是建议在任何情况 下都使用双引号,以保证将来迁移到jdk1.5时可以比较容易。
同样需要在<testng>的ant任务中指明sourcedir属性(或者在命令行中使用- sourcedir),以便testNG可以找到你的测试文件的源代码来解析javadoc注解。
这里是jdk1.4和jdk5注解的语法对照表:
(表格在blog中不好排版,不在这里发了,详细内容请参考官方文档的原文: http://testng.org/doc/documentation-main.html#jdk-14。)
更多jdk1.4的支持范例,请参考发行包中的test-14文件夹,这里包含全部的JDK 1.5 测试对应的使用javadoc注解的内容。