Groovy 来源的 Maven Surefire 插件 "include" 选项
Maven Surefire Plugin "include" option for Groovy sources
我有 Groovy 项目,我想通过 Surefire 控制要执行的测试 (sample repo)。
假设我有测试ExampleTest
我可以配置Surefire如下:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>**/ExampleTest.*</include>
</includes>
</configuration>
</plugin>
我也可以使用 <include>ExampleTest.*</include>
或 <include>ExampleTest</include>
并且有效。
很遗憾,我无法将其配置为 <include>ExampleTest.groovy</include>
,但 适用于 <include>ExampleTest.java</include>
!
为什么会这样?这是一个错误吗?
是的,我们可以说这是一个错误。您不能在包含列表中使用 .groovy
。但如果您使用 .*
、.java
或 .class
.
,它将起作用
我建议在 <include>
模式中使用正则表达式支持 here。
例如,要包含 ExampleTest.groovy
文件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>%regex[ExampleTest\.groovy]</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
我有 Groovy 项目,我想通过 Surefire 控制要执行的测试 (sample repo)。
假设我有测试ExampleTest
我可以配置Surefire如下:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>**/ExampleTest.*</include>
</includes>
</configuration>
</plugin>
我也可以使用 <include>ExampleTest.*</include>
或 <include>ExampleTest</include>
并且有效。
很遗憾,我无法将其配置为 <include>ExampleTest.groovy</include>
,但 适用于 <include>ExampleTest.java</include>
!
为什么会这样?这是一个错误吗?
是的,我们可以说这是一个错误。您不能在包含列表中使用 .groovy
。但如果您使用 .*
、.java
或 .class
.
我建议在 <include>
模式中使用正则表达式支持 here。
例如,要包含 ExampleTest.groovy
文件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>%regex[ExampleTest\.groovy]</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>