TestNG官方文档中文版(9)-重复失败测试,junit测试,jdk1.4支持

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注解的内容。

时间: 2024-11-01 19:27:20

TestNG官方文档中文版(9)-重复失败测试,junit测试,jdk1.4支持的相关文章

TestNG官方文档中文版(6)-参数

5.5 - Parameters 测试方法不要求是无参数的.你可以在每个测试方法上使用任意数量的参数,并指示 testNG传递正确的参数. 有两种方式用于设置参数:使用testng.xml或者编程式. 5.5.1 - Parameters from testng.xml 如果你要为你的参数使用简单值,你可以在你的testng.xml中明确指定: @Parameters({ "first-name" }) @Test public void testSingleString(String

TestNG官方文档中文版(2)-annotation

TestNG的官方文档的中文翻译版第二章,原文请见 http://testng.org/doc/documentation-main.html 2 - Annotation 这里是TestNG中用到的annotation的快速预览,还有它们的属性. @BeforeSuite: 被注释的方法将在所有测试运行前运行 @AfterSuite: 被注释的方法将在所有测试运行后运行 @BeforeTest: 被注释的方法将在测试运行前运行 @AfterTest: 被注释的方法将在测试运行后运行 @Befo

TestNG官方文档中文版(3)-testng.xml

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.( 为了方便使用,你可能更喜欢浏览HT

TestNG官方文档中文版(1)-介绍

最近决定开始使用TestNG来替代junit,作为未来的单元测试基础组件. TestNG的官方文档请见: 1.介绍 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个 类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服 务器). 编写一个测试的过程有三个典型步骤: * 编写测试的 业务逻辑并在代码中插入TestNG annotation * 将测试信息添加到testng.xml文件或者build.xml中 * 运行TestNG 在欢迎页面

TestNG官方文档中文版(8)-类级别注解和并发

5.8 - Class level annotations @Test注解可以放置在类上: @Test public class Test1 { public void test1() { } public void test2() { } } 类级别注解的效果是将这个类的所有的public方法都变成测试方法,即使他们没有被 注解.还可以在需要增加属性的方法上重复@Test注解. 例如: @Test public class Test1 { public void test1() { } @Te

TestNG官方文档中文版(7)-方法依赖和工厂

5.6 - Dependent methods 有些时候,你需要你的测试方法按照一个特定的顺序被调用.这非常有用,比如: * 在运行更多测试方法前确认特定数量的测试方法调用完成并且成功 * 初始化测试并希望这个初始化方法也作为测试方法(被标记为@Before/After的方法 将不作为最终报告的一部分) 为了做到这点,需要使用@Test注解的dependsOnMethods属性或者dependsOnGroups属 性. 有两种依赖: * 强依赖.在运行你的测试方法前所有依赖方法必须运行并且成功.

TestNG官方文档中文版(4)-运行TestNG

4 - 运行TestNG TestNG可以以不同的方式调用: * Command line * ant * Eclipse * IntelliJ's IDEA 1) 命令行 假设你已经将TestNG加入到class path,调用TestNG最简单的方法事下面的: java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...] 必须指定最少一个描述你试图测试的TestNG suite的xml文件.另外,下面的命令行参 数可以使用:

TestNG官方文档中文版(5)-测试方法/类和组

5 - Test methods, Test classes and Test groups 5.1 - Test groups TestNG容许执行复杂的测试方法分组.不仅可以申明方法属于组,而且可以指定分组 包含其他分组. 然后TestNG可以被调用,并被要求包含某些分组和排除其他的分组. 这将提供怎样划分测试的最大弹性,并且如果想运行两个不同的测试装置不需要重新 编译. 例如,非常普遍的需要至少两个种类的测试 * Check-in tests. 这些测试将在提交新代码之前运行. 它们典型的

TensorFlow 官方文档中文版【转】

转自:http://wiki.jikexueyuan.com/project/tensorflow-zh/ TensorFlow 官方文档中文版 你正在阅读的项目可能会比 Android 系统更加深远地影响着世界! 缘起 2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译. 机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判.如今,领先的科技巨头无不在机器学习下予以极大投入.F