我在src/test/java/
中有JUnit测试,在src/test/groovy/
中有Groovy测试。我可以在IDE中运行所有测试,但我想将它们添加到mvn test
。
如果我用途:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<argLine>${arg}</argLine>
<includes>
<include>**/*Test.class</include>
</includes>
</plugin>
mvn test
运行所有从groovy包,但如果我添加junit为surefire像这样:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<argLine>${arg}</argLine>
<includes>
<include>**/*Test.class</include>
</includes>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M5</version>
</dependency>
</dependencies>
</plugin>
mvn test
从java包运行所有。我已经尝试了很多方法,但我无法将maven配置为在一个构建中同时运行这两种方法。怎么可能呢?
3条答案
按热度按时间zqdjd7g91#
请参阅Spock-Example项目,了解如何正确配置maven构建以运行Spock 2.x。
xv8emn3q2#
我不得不使用
junit-vintage-engine
而不是surefire-junit-47
cpjpxq1n3#
在Junit5上使用Spock测试没有检测到任何在
>= 3.0.0-M5
上运行的测试,而且Maven日志显示Surefire选择了JUnit4Provider
而不是任何JUnit5提供程序。将
surefire-junit-platform
添加到插件依赖项对我来说很有效: