故障安全:集成测试
全名:
org.apache.maven.plugins:maven-failsafe-plugin:2.11:integration-test
说明:
使用 Surefire 运行集成测试。
属性:
- 需要执行一个 Maven 项目。
- 需要对范围内的工件进行依赖解析:test。
- 目标是线程安全的并支持并行构建。
- 默认绑定到生命周期阶段:integration-test。
必需参数
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
摘要文件 | 文件 | - | 要将集成测试结果写入的摘要文件。 |
测试源目录 | 文件 | 2.2 | 包含测试类源的测试源目录。 默认值为:${project.build.testSourceDirectory}。 |
可选参数
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
附加类路径元素 | 列表 | 2.4 | 要附加到类路径的其他元素。 |
参数线 | 细绳 | 2.1 | 在命令行上设置的任意 JVM 选项。 |
基于的 | 文件 | - | 正在测试的项目的基本目录。这可以通过 System.getProperty("basedir") 在您的集成测试中获得。 默认值为:${basedir}。 |
子委托 | 布尔值 | 2.1 | 当为 false 时,它使测试使用标准的类加载器委托而不是默认的 Maven 隔离类加载器运行。仅在分叉时使用(forkMode 不是“none”)。 将其设置为 false 有助于解决由类路径中的 xml 解析器与 Java 5 提供程序解析器之间的冲突引起的一些问题。 默认值为:false。 |
类目录 | 文件 | - | 包含正在测试的项目的生成类的目录。这将包含在测试类路径中的测试类之后。 默认值为:${project.build.outputDirectory}。 |
类路径DependencyExcludes | 列表 | 2.6 | 要从测试类路径中排除的依赖项列表。每个依赖项字符串必须遵循groupId:artifactId格式。例如:org.acme:project-a |
类路径DependencyScopeExclude | 细绳 | 2.6 | 要从测试类路径中排除的依赖范围。范围应该是 org.apache.maven.artifact.Artifact 定义的范围之一。这包括以下内容:
|
debugForkedProcess | 细绳 | 2.4 | 将调试器附加到分叉的 JVM。如果设置为“true”,进程将暂停并等待调试器连接到端口 5005。如果设置为其他字符串,该字符串将附加到 argLine,允许您配置任意可调试性选项(不覆盖其他通过
argLine参数指定的选项)。 |
disableXmlReport | 布尔值 | 2.2 | 标志以禁用生成 xml 格式的报告文件。 默认值为:false。 |
启用断言 | 布尔值 | 2.3.1 | 默认情况下,Surefire 启用 JVM 断言来执行您的测试用例。要禁用断言,请将此标志设置为“false”。 默认值为:true。 |
编码 | 细绳 | - | 要应用的字符编码方案。 默认值为:${project.reporting.outputEncoding}。 |
环境变量 | 地图 | 2.1.3 | 要在命令行上设置的其他环境变量。 |
排除组 | 细绳 | 2.2 | (仅限 JUnit4.8+ 的 TestNG/JUnit47 提供程序)排除的组。具有此列表中指定的组之一的任何方法/类/等都不会运行。 对于 JUnit,此参数强制使用 4.7 提供程序如果指定了suiteXmlFiles 参数, 则忽略此参数 。 |
排除 | 列表 | - | <exclude> 元素列表,指定应在测试中排除的测试(按模式)。如果未指定且未指定test参数,则默认排除将是 <excludes> <exclude>**/*$*</exclude> </excludes> (排除所有内部类)。 如果指定了 TestNG suiteXmlFiles 参数,则忽略此参数。 每个排除项目还可能包含一个以逗号分隔的项目子列表,这些项目将被视为多个 <exclude> 条目。 |
失败如果没有测试 | 布尔值 | 2.4 | 如果没有要运行的测试,请将其设置为“true”以导致失败。默认为“假”。 |
分叉模式 | 细绳 | 2.1 | 指定分叉模式的选项。可以是“从不”、“一次”或“总是”。“none”和“pertest”也被接受以实现向后兼容性。每个测试类的“总是”分叉。 默认值为:一次。 |
forkedProcessTimeoutInSeconds | 整数 | 2.4 | 在一定秒数后终止分叉的测试进程。如果设置为 0,则永远等待进程,永不超时。 |
团体 | 细绳 | 2.2 | (仅限 JUnit4.8+ 的 TestNG/JUnit47 提供程序)此测试的组。如果指定,只有用此处指定的组之一装饰的类/方法/等才会包含在测试运行中。 对于 JUnit,此参数强制使用 4.7 提供程序如果指定了suiteXmlFiles 参数, 则忽略此参数 。 |
包括 | 列表 | - | <include> 元素列表,指定应包含在测试中的测试(按模式)。未指定且未指定测试参数时,默认包含将是 <includes> <include>**/IT*.java</include> <include>**/*IT.java</include> <include >**/*ITCase.java</include> </includes> 每个包含项还可能包含一个以逗号分隔的项子列表,这些子项将被视为多个 <include> 条目。 如果指定了 TestNG suiteXmlFiles参数,则忽略此参数。 |
junitArtifactName | 细绳 | 2.3.1 | 允许您指定 JUnit 工件的名称。如果未设置,
将使用junit:junit 。 默认值为:junit:junit。 |
虚拟机 | 细绳 | 2.1 | 用于指定要与分叉选项一起使用的 jvm(或 java 可执行文件的路径)的选项。默认情况下,jvm 将是与用于运行 Maven 的虚拟机相同的虚拟机的新实例。JVM 设置不是从 MAVEN_OPTS 继承的。 |
对象工厂 | 细绳 | 2.5 | (仅限TestNG)定义用于创建所有测试实例的工厂类。 |
平行线 | 细绳 | 2.2 | (仅限TestNG)当您使用parallel属性时,TestNG 将尝试在单独的线程中运行您的所有测试方法,但相互依赖的方法除外,它们将在同一线程中运行以尊重它们的执行顺序。
(JUnit 4.7 提供程序)支持值“类”/“方法”/“两者”在单独的线程中运行,由threadCount控制。 |
perCoreThreadCount | 布尔值 | 2.5 | (JUnit 4.7 提供程序)指示 threadCount 是每个 cpu 核心。 默认值为:true。 |
打印总结 | 布尔值 | - | 打印测试套件摘要或仅打印有错误的测试用例的选项。 默认值为:true。 |
特性 | 特性 | 2.4 | 用于配置所有 TestNG 相关配置的属性列表。这是配置 TestNG 的新的首选方法。 |
重定向测试输出到文件 | 布尔值 | 2.3 | 将此设置为“true”以将单元测试标准输出重定向到文件(在 reportsDirectory/testName-output.txt 中找到)。 默认值为:false。 |
远程存储库 | 列表 | 2.2 | 在 POM 中声明的远程插件存储库。 |
报告格式 | 细绳 | - | 选择要生成的测试报告的格式。可以设置为“简要”或“简单”。 默认值为:简要。 |
报告名称后缀 | 细绳 | - | 在报告文件名中添加自定义文本:TEST-testClassName-reportNameSuffix.xml、testClassName-reportNameSuffix.txt 和 testClassName-reportNameSuffix-output.txt。文件 TEST-testClassName-reportNameSuffix.xml 已更改属性 'testsuite'--'name' 和 'testcase'--'classname' - reportNameSuffix 添加到属性值。 |
报告目录 | 文件 | - | 写入所有报告的基本目录。 默认值为:${project.build.directory}/failsafe-reports。 |
运行订单 | 细绳 | 2.7 | 定义运行测试的顺序。支持的值是“alphabetical”、“reversealphabetical”、“random”、“hourly”(偶数小时的字母顺序,奇数小时的反向字母顺序)、“failedfirst”、“balanced”和“文件系统”。
每小时的奇数/偶数是在扫描类路径时确定的,这意味着它可能会在多模块构建期间发生变化。
Failed first 将首先运行先前运行失败的测试,以及本次运行的新测试。
Balanced 仅与 parallel=classes 相关,并且会尝试优化测试的运行顺序以使所有测试同时完成,从而减少整体执行时间。
请注意,统计信息存储在 pom.xml 旁边名为 .surefire-XXXXXXXXX 的文件中,不应将其检入版本控制中。“XXXXX”是整个surefire配置的SHA1校验和,因此不同的配置会有不同的统计文件,这意味着如果您更改任何配置设置,您将重新运行一次,然后才能建立新的统计数据。 默认值为:文件系统。 |
跳过 | 布尔值 | - | 将此设置为“true”以完全绕过单元测试。不推荐使用它,特别是如果您使用“maven.test.skip”属性启用它,因为 maven.test.skip 会禁用运行测试和编译测试。请考虑改用
skipTests 参数。 默认值为:false。 |
跳过执行 | 布尔值 | 2.3 | 已弃用。请改用skipTests。 |
跳过IT | 布尔值 | 2.4.3-alpha-2 | 将此设置为“true”以跳过正在运行的集成测试,但仍会编译它们。不推荐使用它,但有时很方便。 |
跳过测试 | 布尔值 | 2.4 | 将此设置为“true”以跳过正在运行的测试,但仍编译它们。不推荐使用它,但有时很方便。 默认值为:false。 |
套件Xml文件 | 文件[] | 2.2 | (仅限 TestNG)指定 TestNG 套件 xml 文件位置的 <suiteXmlFile> 元素列表。请注意,
suiteXmlFiles与此插件的其他几个参数不兼容,例如
include/excludes。 如果指定了test参数,则忽略此参数(允许您运行单个测试而不是整个套件)。 |
系统属性 | 特性 | - | 已弃用。请改用 systemPropertyVariables。 |
系统属性文件 | 文件 | 2.8.2 | 系统属性列表,从文件加载,传递给 JUnit 测试。 |
系统属性变量 | 地图 | 2.5 | 要传递给 JUnit 测试的系统属性列表。 |
测试 | 细绳 | - | 指定此参数以按文件名运行单个测试,覆盖包含/排除参数。您在此处指定的每个模式都将用于创建格式为**/${test}.java的包含模式,因此您只需键入“-Dit.test=MyTest”即可运行名为“foo/MyTest.java”的单个测试”。 此参数覆盖包含/排除 参数和 TestNG suiteXmlFiles参数。 从 2.7.3 开始,您可以通过添加#myMethod 或#my*ethod 在测试中执行有限数量的方法。junit 4.x 和 testNg 支持Si 类型“-Dtest=MyTest#myMethod” |
测试类目录 | 文件 | - | 包含正在测试的项目的生成测试类的目录。这将包含在测试类路径的开头。 默认值为:${project.build.testOutputDirectory}。 |
testNGArtifactName | 细绳 | 2.3.1 | 允许您指定 TestNG 工件的名称。如果未设置,
将使用org.testng:testng 。 默认值为:org.testng:testng。 |
线程数 | 整数 | 2.2 | (仅适用于 TestNG/JUnit 4.7 提供程序)属性 thread-count 允许您指定应为此执行分配多少线程。仅与并行参数一起使用才有意义
。 |
trimStackTrace | 布尔值 | 2.2 | 是否将报告中的堆栈跟踪修剪为仅测试中的行,或显示完整的跟踪。 默认值为:true。 |
使用文件 | 布尔值 | - | 生成文件测试报告或仅将测试报告输出到控制台的选项。 默认值为:true。 |
使用ManifestOnlyJar | 布尔值 | 2.4.3 | 默认情况下,Surefire 使用仅清单 JAR 分叉您的测试;将此参数设置为“false”以强制它使用普通的旧 Java 类路径启动您的测试。(有关仅清单 JAR 及其好处的更详细说明,请参阅 http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html。)
请注意,如果您的类路径太长,将其设置为“false”可能会导致您的测试在 Windows 上失败。 默认值为:true。 |
使用SystemClassLoader | 布尔值 | 2.3 | 将依赖项传递给系统的类加载器的选项,而不是在分叉时使用隔离的类加载器。防止使用系统的类加载器实现服务提供者查找机制的 JDK 出现问题。 默认值为:true。 |
使用无限线程 | 布尔值 | 2.5 | (JUnit 4.7 提供者)表示线程池将是无限的。并行参数和类/方法的实际数量将决定。将此设置为“true”会有效地禁用perCoreThreadCount和
threadCount。默认为“假”。 默认值为:false。 |
工作目录 | 文件 | 2.1.3 | 命令行工作目录。 |
参数详情
要附加到类路径的其他元素。
- 类型:java.util.List
- 从: 2.4
- 要求:否
参数线:
在命令行上设置的任意 JVM 选项。
- 类型:java.lang.String
- 从: 2.1
- 要求:否
- 表达式:${argLine}
基于:
正在测试的项目的基本目录。这可以通过 System.getProperty("basedir") 在您的集成测试中获得。
- 类型:java.io.File
- 要求:否
- 默认值:${basedir}
子代:
当为 false 时,它使测试使用标准的类加载器委托而不是默认的 Maven 隔离类加载器运行。仅在分叉时使用(forkMode 不是“none”)。
将其设置为 false 有助于解决由类路径中的 xml 解析器与 Java 5 提供程序解析器之间的冲突引起的一些问题。
将其设置为 false 有助于解决由类路径中的 xml 解析器与 Java 5 提供程序解析器之间的冲突引起的一些问题。
- 类型:布尔值
- 从: 2.1
- 要求:否
- 表达式:${childDelegation}
- 默认值:假
类目录:
包含正在测试的项目的生成类的目录。这将包含在测试类路径中的测试类之后。
- 类型:java.io.File
- 要求:否
- 默认值:${project.build.outputDirectory}
要从测试类路径中排除的依赖项列表。每个依赖项字符串必须遵循groupId:artifactId格式。例如:org.acme:project-a
- 类型:java.util.List
- 从: 2.6
- 要求:否
要从测试类路径中排除的依赖范围。范围应该是 org.apache.maven.artifact.Artifact 定义的范围之一。这包括以下内容:
- compile - 系统,提供,编译
- 运行时- 编译,运行时
- compile+runtime - 系统,提供,编译,运行时
- runtime+system - 系统、编译、运行时
- 测试- 系统、提供、编译、运行时、测试
- 类型:java.lang.String
- 从: 2.6
- 要求:否
将调试器附加到分叉的 JVM。如果设置为“true”,进程将暂停并等待调试器连接到端口 5005。如果设置为其他字符串,该字符串将附加到 argLine,允许您配置任意可调试性选项(不覆盖其他通过
argLine参数指定的选项)。
- 类型:java.lang.String
- 从: 2.4
- 要求:否
- 表达式:${maven.failsafe.debug}
标志以禁用生成 xml 格式的报告文件。
- 类型:布尔值
- 从: 2.2
- 要求:否
- 表达式:${disableXmlReport}
- 默认值:假
启用断言:
默认情况下,Surefire 启用 JVM 断言来执行您的测试用例。要禁用断言,请将此标志设置为“false”。
- 类型:布尔值
- 自:2.3.1
- 要求:否
- 表达式:${enableAssertions}
- 默认值:真
编码:
要应用的字符编码方案。
- 类型:java.lang.String
- 要求:否
- 表达式:${编码}
- 默认值:${project.reporting.outputEncoding}
环境变量:
要在命令行上设置的其他环境变量。
- 类型:java.util.Map
- 自:2.1.3
- 要求:否
排除组:
(仅限 JUnit4.8+ 的 TestNG/JUnit47 提供程序)排除的组。具有此列表中指定的组之一的任何方法/类/等都不会运行。
对于 JUnit,此参数强制使用 4.7 提供程序如果指定了suiteXmlFiles
参数, 则忽略此参数 。
对于 JUnit,此参数强制使用 4.7 提供程序如果指定了suiteXmlFiles
参数, 则忽略此参数 。
- 类型:java.lang.String
- 从: 2.2
- 要求:否
- 表达式:${excludedGroups}
不包括:
<exclude> 元素列表,指定应在测试中排除的测试(按模式)。如果未指定且未指定test参数,则默认排除将是
<excludes>
<exclude>**/*$*</exclude>
</excludes>
(排除所有内部类)。
如果指定了 TestNG suiteXmlFiles 参数,则忽略此参数。 每个排除项目还可能包含一个以逗号分隔的项目子列表,这些项目将被视为多个 <exclude> 条目。
<excludes>
<exclude>**/*$*</exclude>
</excludes>
(排除所有内部类)。
如果指定了 TestNG suiteXmlFiles 参数,则忽略此参数。 每个排除项目还可能包含一个以逗号分隔的项目子列表,这些项目将被视为多个 <exclude> 条目。
- 类型:java.util.List
- 要求:否
如果没有要运行的测试,请将其设置为“true”以导致失败。默认为“假”。
- 类型:java.lang.Boolean
- 从: 2.4
- 要求:否
- 表达式:${failIfNoTests}
叉子模式:
指定分叉模式的选项。可以是“从不”、“一次”或“总是”。“none”和“pertest”也被接受以实现向后兼容性。每个测试类的“总是”分叉。
- 类型:java.lang.String
- 从: 2.1
- 要求:否
- 表达式:${forkMode}
- 默认值:一次
forkedProcessTimeoutInSeconds:
在一定秒数后终止分叉的测试进程。如果设置为 0,则永远等待进程,永不超时。
- 类型:整数
- 从: 2.4
- 要求:否
- 表达式:${failsafe.timeout}
团体:
(仅限 JUnit4.8+ 的 TestNG/JUnit47 提供程序)此测试的组。如果指定,只有用此处指定的组之一装饰的类/方法/等才会包含在测试运行中。
对于 JUnit,此参数强制使用 4.7 提供程序如果指定了suiteXmlFiles
参数, 则忽略此参数 。
对于 JUnit,此参数强制使用 4.7 提供程序如果指定了suiteXmlFiles
参数, 则忽略此参数 。
- 类型:java.lang.String
- 从: 2.2
- 要求:否
- 表达式:${groups}
包括:
<include> 元素列表,指定应包含在测试中的测试(按模式)。未指定且未指定测试参数时,默认包含将是
<includes>
<include>**/IT*.java</include>
<include>**/*IT.java</include>
<include >**/*ITCase.java</include>
</includes>
每个包含项还可能包含一个以逗号分隔的项子列表,这些子项将被视为多个 <include> 条目。
如果指定了 TestNG suiteXmlFiles参数,则忽略此参数。
<includes>
<include>**/IT*.java</include>
<include>**/*IT.java</include>
<include >**/*ITCase.java</include>
</includes>
每个包含项还可能包含一个以逗号分隔的项子列表,这些子项将被视为多个 <include> 条目。
如果指定了 TestNG suiteXmlFiles参数,则忽略此参数。
- 类型:java.util.List
- 要求:否
允许您指定 JUnit 工件的名称。如果未设置,
将使用junit:junit 。
- 类型:java.lang.String
- 自:2.3.1
- 要求:否
- 表达式:${junitArtifactName}
- 默认值:junit:junit
虚拟机:
用于指定要与分叉选项一起使用的 jvm(或 java 可执行文件的路径)的选项。默认情况下,jvm 将是与用于运行 Maven 的虚拟机相同的虚拟机的新实例。JVM 设置不是从 MAVEN_OPTS 继承的。
- 类型:java.lang.String
- 从: 2.1
- 要求:否
- 表达式:${jvm}
对象工厂:
(仅限TestNG)定义用于创建所有测试实例的工厂类。
- 类型:java.lang.String
- 从: 2.5
- 要求:否
- 表达式:${objectFactory}
并行:
(仅限TestNG)当您使用parallel属性时,TestNG 将尝试在单独的线程中运行您的所有测试方法,但相互依赖的方法除外,它们将在同一线程中运行以尊重它们的执行顺序。
(JUnit 4.7 提供程序)支持值“类”/“方法”/“两者”在单独的线程中运行,由threadCount控制。
- 类型:java.lang.String
- 从: 2.2
- 要求:否
- 表达式:${parallel}
(JUnit 4.7 提供程序)指示 threadCount 是每个 cpu 核心。
- 类型:布尔值
- 从: 2.5
- 要求:否
- 表达式:${perCoreThreadCount}
- 默认值:真
打印总结:
打印测试套件摘要或仅打印有错误的测试用例的选项。
- 类型:布尔值
- 要求:否
- 表达式:${failsafe.printSummary}
- 默认值:真
属性:
用于配置所有 TestNG 相关配置的属性列表。这是配置 TestNG 的新的首选方法。
- 类型:java.util.Properties
- 从: 2.4
- 要求:否
将此设置为“true”以将单元测试标准输出重定向到文件(在 reportsDirectory/testName-output.txt 中找到)。
- 类型:布尔值
- 从: 2.3
- 要求:否
- 表达式:${maven.test.redirectTestOutputToFile}
- 默认值:假
在 POM 中声明的远程插件存储库。
- 类型:java.util.List
- 从: 2.2
- 要求:否
- 表达式:${project.pluginArtifactRepositories}
报告格式:
选择要生成的测试报告的格式。可以设置为“简要”或“简单”。
- 类型:java.lang.String
- 要求:否
- 表达式:${failsafe.reportFormat}
- 默认值:简短
在报告文件名中添加自定义文本:TEST-testClassName-reportNameSuffix.xml、testClassName-reportNameSuffix.txt 和 testClassName-reportNameSuffix-output.txt。文件 TEST-testClassName-reportNameSuffix.xml 已更改属性 'testsuite'--'name' 和 'testcase'--'classname' - reportNameSuffix 添加到属性值。
- 类型:java.lang.String
- 要求:否
- 表达式:${surefire.reportNameSuffix}
报告目录:
写入所有报告的基本目录。
- 类型:java.io.File
- 要求:否
- 默认值:${project.build.directory}/failsafe-reports
运行顺序:
定义运行测试的顺序。支持的值是“alphabetical”、“reversealphabetical”、“random”、“hourly”(偶数小时的字母顺序,奇数小时的反向字母顺序)、“failedfirst”、“balanced”和“文件系统”。
每小时的奇数/偶数是在扫描类路径时确定的,这意味着它可能会在多模块构建期间发生变化。
Failed first 将首先运行先前运行失败的测试,以及本次运行的新测试。
Balanced 仅与 parallel=classes 相关,并且会尝试优化测试的运行顺序以使所有测试同时完成,从而减少整体执行时间。
请注意,统计信息存储在 pom.xml 旁边名为 .surefire-XXXXXXXXX 的文件中,不应将其检入版本控制中。“XXXXX”是整个surefire配置的SHA1校验和,因此不同的配置会有不同的统计文件,这意味着如果您更改任何配置设置,您将重新运行一次,然后才能建立新的统计数据。
- 类型:java.lang.String
- 从: 2.7
- 要求:否
- 默认:文件系统
跳过:
将此设置为“true”以完全绕过单元测试。不推荐使用它,特别是如果您使用“maven.test.skip”属性启用它,因为 maven.test.skip 会禁用运行测试和编译测试。请考虑改用
skipTests 参数。
- 类型:布尔值
- 要求:否
- 表达式:${maven.test.skip}
- 默认值:假
跳过执行:
已弃用。请改用skipTests。
这个旧参数就像skipTests一样,但绑定到旧属性“maven.test.skip.exec”。
- 类型:布尔值
- 从: 2.3
- 要求:否
- 表达式:${maven.test.skip.exec}
跳过:
将此设置为“true”以跳过正在运行的集成测试,但仍会编译它们。不推荐使用它,但有时很方便。
- 类型:布尔值
- 自:2.4.3-alpha-2
- 要求:否
- 表达式:${skipITs}
跳过测试:
将此设置为“true”以跳过正在运行的测试,但仍编译它们。不推荐使用它,但有时很方便。
- 类型:布尔值
- 从: 2.4
- 要求:否
- 表达式:${skipTests}
- 默认值:假
(仅限 TestNG)指定 TestNG 套件 xml 文件位置的 <suiteXmlFile> 元素列表。请注意,
suiteXmlFiles与此插件的其他几个参数不兼容,例如
include/excludes。
如果指定了test参数,则忽略此参数(允许您运行单个测试而不是整个套件)。
如果指定了test参数,则忽略此参数(允许您运行单个测试而不是整个套件)。
- 类型:java.io.File[]
- 从: 2.2
- 要求:否
摘要文件:
要将集成测试结果写入的摘要文件。
- 类型:java.io.File
- 要求:是
- 表达式:${project.build.directory}/failsafe-reports/failsafe-summary.xml
系统属性:
已弃用。请改用 systemPropertyVariables。
要传递给 JUnit 测试的系统属性列表。
- 类型:java.util.Properties
- 要求:否
系统属性列表,从文件加载,传递给 JUnit 测试。
- 类型:java.io.File
- 自:2.8.2
- 要求:否
要传递给 JUnit 测试的系统属性列表。
- 类型:java.util.Map
- 从: 2.5
- 要求:否
测试:
指定此参数以按文件名运行单个测试,覆盖包含/排除参数。您在此处指定的每个模式都将用于创建格式为**/${test}.java的包含模式,因此您只需键入“-Dit.test=MyTest”即可运行名为“foo/MyTest.java”的单个测试”。
此参数覆盖包含/排除 参数和 TestNG suiteXmlFiles参数。 从 2.7.3 开始,您可以通过添加#myMethod 或#my*ethod 在测试中执行有限数量的方法。junit 4.x 和 testNg 支持Si 类型“-Dtest=MyTest#myMethod”
此参数覆盖包含/排除 参数和 TestNG suiteXmlFiles参数。 从 2.7.3 开始,您可以通过添加#myMethod 或#my*ethod 在测试中执行有限数量的方法。junit 4.x 和 testNg 支持Si 类型“-Dtest=MyTest#myMethod”
- 类型:java.lang.String
- 要求:否
- 表达式:${it.test}
包含正在测试的项目的生成测试类的目录。这将包含在测试类路径的开头。
- 类型:java.io.File
- 要求:否
- 默认值:${project.build.testOutputDirectory}
允许您指定 TestNG 工件的名称。如果未设置,
将使用org.testng:testng 。
- 类型:java.lang.String
- 自:2.3.1
- 要求:否
- 表达式:${testNGArtifactName}
- 默认值:org.testng:testng
包含测试类源的测试源目录。
- 类型:java.io.File
- 从: 2.2
- 要求:是
- 默认值:${project.build.testSourceDirectory}
线程数:
(仅适用于 TestNG/JUnit 4.7 提供程序)属性 thread-count 允许您指定应为此执行分配多少线程。仅与并行参数一起使用才有意义
。
- 类型:整数
- 从: 2.2
- 要求:否
- 表达式:${threadCount}
是否将报告中的堆栈跟踪修剪为仅测试中的行,或显示完整的跟踪。
- 类型:布尔值
- 从: 2.2
- 要求:否
- 表达式:${trimStackTrace}
- 默认值:真
使用文件:
生成文件测试报告或仅将测试报告输出到控制台的选项。
- 类型:布尔值
- 要求:否
- 表达式:${failsafe.useFile}
- 默认值:真
默认情况下,Surefire 使用仅清单 JAR 分叉您的测试;将此参数设置为“false”以强制它使用普通的旧 Java 类路径启动您的测试。(有关仅清单 JAR 及其好处的更详细说明,请参阅 http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html。)
请注意,如果您的类路径太长,将其设置为“false”可能会导致您的测试在 Windows 上失败。
- 类型:布尔值
- 自:2.4.3
- 要求:否
- 表达式:${failsafe.useManifestOnlyJar}
- 默认值:真
将依赖项传递给系统的类加载器的选项,而不是在分叉时使用隔离的类加载器。防止使用系统的类加载器实现服务提供者查找机制的 JDK 出现问题。
- 类型:布尔值
- 从: 2.3
- 要求:否
- 表达式:${failsafe.useSystemClassLoader}
- 默认值:真
(JUnit 4.7 提供者)表示线程池将是无限的。并行参数和类/方法的实际数量将决定。将此设置为“true”会有效地禁用perCoreThreadCount和
threadCount。默认为“假”。
- 类型:布尔值
- 从: 2.5
- 要求:否
- 表达式:${useUnlimitedThreads}
- 默认值:假
工作目录:
命令行工作目录。
- 类型:java.io.File
- 自:2.1.3
- 要求:否
- 表达式:${basedir}