我在插件maven-surefire-plugin中使用了skipTests,这是真的。 但是,有时我想从命令行运行测试,我想从命令行覆盖此插件,并保持pom文件不变。
我试过了
mvn install -DskipTests=false
,但它仍然跳过了测试......
知道如何解决我的问题......? 感谢
答案 0 :(得分:5)
Skipping by default在插件文档中有具体讨论:
如果您希望默认跳过测试但希望能够重新启用 从命令行进行测试,您需要通过属性部分进行测试 在pom
换句话说,使用属性作为默认值:
<configuration>
<skipTests>${skipTests}</skipTests>
</configuration>
定义属性:
<properties>
<skipTests>true</skipTests>
</properties>
可以从命令行覆盖属性:
mvn install -DskipTests=false
请注意,上面命令行中的skipTests
引用属性,而不是引用具有相同名称的plugin参数。
答案 1 :(得分:0)
使用个人资料可以解决问题。它需要您更改pom文件,虽然它可以为您提供所需的行为。
在项目元素
中设置属性<properties>
<runtests>false</runtests>
</properties>
现在创建个人资料
<profile>
<id>run-tests</id>
<properties>
<runtests>true</runtests>
</properties>
</profile>
在surefire插件配置
<skipTests>${runtests}</skipTests>
现在运行mvn install -P run-tests 此命令将激活配置文件,从而将runtests属性设置为true