【译】TestNG官方文档中文版(04)—— 运行TestNG

来源:互联网 发布:网络用语解锁什么意思 编辑:程序博客网 时间:2024/05/17 04:38

4 - 运行

TestNG可以使用多种方式调用:

  • 命令行
  • ant
  • Eclipse
  • IntelliJ's IDEA

本节将只介绍如何从命令行运行TestNG。如果您对其他方式感兴趣,那么就点击上面的链接查看更多信息。

假设TestNG已经在你的类路径中,最简单的调用方式如下:

java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

你至少要指定一个XML文件,它描述了你要运行的TestNG suite。此外,还有如下命令行参数:

命令行参数选项参数说明-d目录报告会生成的目录 (默认是test-output).-excludegroups逗号分隔的组列表要在当前运行中被排除的组列表-groups逗号分隔的组列表想要运行的组(e.g. "windows,linux,regression").-listener逗号分隔的Java类列表,它们都可以在你的类路径中找到让你指定你自己的监听器。这些类需要实现org.testng.ITestListener-parallel方法 | 测试如果指定了,那么在运行测试的时候,所使用的默认的机制就会决定如何去使用并行 | 线程。反之则不会。 这是可以在suite定义中被覆盖的-reporter自定义报告监听器的扩展配置类似于 -listener 选项,允许在报告器实例中配置JavaBean的样式属性。例如:
-reporter com.test.MyReporter:methodFilter=*insert*,enableFiltering=true
这个选项不限次数,根据需要一样一个。
-sourcedir分号间隔的目录列表使用了JavaDoc类型的annotation的源码所在的目录。这个选项只有你在使用JavaDoc类型的注解时才会有用。(e.g. "src/test" or "src/test/org/testng/eclipse-plugin;src/test/org/testng/testng").-suitenametest suite默认的名字
指明了在命令行中定义的test suite的名字。这个选项在suite.xml或源码指定了不同的名字时会被忽略。如果使用双引号括起来,就可在名字中使用空格。例如:"like this"。-testclass逗号分隔的类列表,它们必须能在类路径中被找到逗号分隔的测试类的列表 (e.g. "org.foo.Test1,org.foo.test2").-testjar一个jar文件指定了一个包含了测试类的Jar文件。如果testng.xml 在jar文件的根目录被找到,就使用之,反之,jar文件中所有的类都会被当成测试类。-testname测试所使用的默认名字它为在命令行中定义的测试指定了名字。这个选项在suite.xml或源码指定了不同的名字时会被忽略。如果使用双引号括起来,就可在名字中使用空格。例如:"like this"。-testrunfactory可以在类路径中找到的Java类让你指定你自己的测试运行器,相关的类必须实现 org.testng.ITestRunnerFactory.-threadcount在并行测试的时候默认使用的线程数并行运行中所使用的最大线程数。只在使用并行模式中有效(例如,使用-parallel选项)。它可以在suite定义中被覆盖。

上面的参数说明可以通过不带任何参数运行TestNG来获得。

你也可以把命令行开关放到文件中,例如说 c:/command.txt,之后告诉 TestNG 使用这个文件来解析其参数:

C:> more c:/command.txt
-d test-output testng.xml
C:> java org.testng.TestNG @c:/command.txt

此外TestNG也可以在命令行下向其传递JVM参数。例如:

java -Dtestng.test.classpath="c:/build;c:/java/classes;" org.testng.TestNG testng.xml

如下是TestNG所能理解的属性:

系统属性属性类型说明testng.test.classpath分号分的一系列目录,其中包含了你的测试类如果指定了这个属性,TestNG就会查找你的测试类而不是类路径。这在你的类路径中有很多类,而大多数又不是测试类,或者在xml文件中使用 package 标记的时候会很方便。


例子:

java org.testng.TestNG -groups windows,linux -testclass org.test.MyTest

注意 ant task 和 testng.xml 允许你使用更多的参数来运行TestNG(要包含的方法、指定的参数等等),所以你在学习TestNG的时候考虑使用命令行,因为这样能让你快速进步。

原创粉丝点击