在不运行单元测试的情况下构建 Maven 项目
Posted
技术标签:
【中文标题】在不运行单元测试的情况下构建 Maven 项目【英文标题】:Build Maven Project Without Running Unit Tests 【发布时间】:2010-12-09 02:28:34 【问题描述】:如何?
目前正在为 Servlet 重组一些代码,并希望在我的 Web 浏览器中尝试一下(这意味着运行 mvn install
以获取 .war
以上传到 Tomcat)。我完全知道我的 UNIT 测试失败了,我对此很好,因为一旦我按照我想要的方式编写代码,我就会修复它。谁能给点建议?
【问题讨论】:
NetBeans IDE 怎么样? 【参考方案1】:如果你想跳过运行和编译测试:
mvn -Dmaven.test.skip=true install
如果你想编译但不运行测试:
mvn install -DskipTests
【讨论】:
在tomcat的情况下:tomcat:deploy -DskipTests 我试过mvn install -DskipTests
,它仍然运行了所有的测试。【参考方案2】:
如果您使用的是 eclipse,则配置页面上有一个“跳过测试”复选框。
运行配置 → Maven 构建 → 新 → 主选项卡 → 跳过测试
【讨论】:
Goals: clean install
【参考方案3】:
运行以下命令:
mvn clean install -DskipTests=true
【讨论】:
【参考方案4】:借助 Intellij 切换跳过测试模式可以从 Maven 项目选项卡中使用:
【讨论】:
【参考方案5】:mvn clean install -Dskiptests=true
现在,与上述答案的唯一区别是“T”是小写的。
【讨论】:
【参考方案6】:我喜欢短版:mvn clean install -DskipTests
也可以:mvn clean install -DskipTests=true
如果你绝对必须,你也可以使用 maven.test.skip 属性来跳过编译测试。 maven.test.skip 受到 Surefire、Failsafe 和 Compiler Plugin 的认可。
mvn clean install -Dmaven.test.skip=true
你可以在 maven.xml 中添加配置
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
【讨论】:
【参考方案7】:如果你调用你的类测试,Maven 似乎会自动运行它们,至少它们为我做了。重命名这些类,Maven 将只进行验证而不运行它们。
【讨论】:
以上是关于在不运行单元测试的情况下构建 Maven 项目的主要内容,如果未能解决你的问题,请参考以下文章