有没有办法从文件中加载 Maven Surefire 插件排除列表?
Is there a way to load Maven Surefire Plugin exclusions list from a file?
在 Surefire 插件中,您有一个 exclusions 文件列表(或正则表达式),如下所示:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
我想将一堆与正则表达式不匹配的文件添加到我的排除列表中。这个列表大约有 200 个文件(一个古怪的集合)。我想将这些文件从外部文件添加到我的 Maven pom.xml
。
不过我认为有 a way to do this using the maven properties plugin. I can't see how that would load a variable into a list。
有没有办法从文件加载排除列表?
Surefire 插件为此提供了配置元素,称为 excludesFile
:
A file containing exclude patterns. Blank lines, or lines starting with #
are ignored. If excludes
are also specified, these patterns are appended. Example with path, simple and regex excludes:
*/test/*
**/DontRunTest.*
%regex[.*Test.*|.*Not.*]
它作为 SUREFIRE-1065 and SUREFIRE-1134 的一部分在插件的 2.19 版中引入。因此,您可以在项目的基本目录中直接拥有一个名为 surefireExcludes.txt
的文件,其中包含
**/TestCircle.java
**/TestSquare.java
# **/TestRectangle.java A commented-out pattern
然后配置插件:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludesFile>surefireExcludes.txt</excludesFile>
</configuration>
</plugin>
所有测试都将是 运行,除了那些与文件中指定的模式相匹配的测试。如果以 #
开头,则模式甚至可以是 commented-out。这也可以直接在 command-line 上与 surefire.excludesFile
用户 属性 一起传递,即:
mvn clean test -Dsurefire.excludesFile=surefireExcludes.txt
相反的要求也存在参数includesFile
。
在 Surefire 插件中,您有一个 exclusions 文件列表(或正则表达式),如下所示:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
我想将一堆与正则表达式不匹配的文件添加到我的排除列表中。这个列表大约有 200 个文件(一个古怪的集合)。我想将这些文件从外部文件添加到我的 Maven pom.xml
。
不过我认为有 a way to do this using the maven properties plugin. I can't see how that would load a variable into a list。
有没有办法从文件加载排除列表?
Surefire 插件为此提供了配置元素,称为 excludesFile
:
A file containing exclude patterns. Blank lines, or lines starting with
#
are ignored. Ifexcludes
are also specified, these patterns are appended. Example with path, simple and regex excludes:*/test/*
**/DontRunTest.*
%regex[.*Test.*|.*Not.*]
它作为 SUREFIRE-1065 and SUREFIRE-1134 的一部分在插件的 2.19 版中引入。因此,您可以在项目的基本目录中直接拥有一个名为 surefireExcludes.txt
的文件,其中包含
**/TestCircle.java
**/TestSquare.java
# **/TestRectangle.java A commented-out pattern
然后配置插件:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludesFile>surefireExcludes.txt</excludesFile>
</configuration>
</plugin>
所有测试都将是 运行,除了那些与文件中指定的模式相匹配的测试。如果以 #
开头,则模式甚至可以是 commented-out。这也可以直接在 command-line 上与 surefire.excludesFile
用户 属性 一起传递,即:
mvn clean test -Dsurefire.excludesFile=surefireExcludes.txt
相反的要求也存在参数includesFile
。