Java Maven:在使用Maven.test.failure.ignore=true之后,找出测试是通过还是失败
我正在尝试为一个自动构建工具运行多个项目的完整Maven构建。如果单元测试失败,但项目本身构建正确,我希望能够继续构建并在构建完成后检测到这一点。我试着这样做:Java Maven:在使用Maven.test.failure.ignore=true之后,找出测试是通过还是失败,java,maven,unit-testing,junit,maven-surefire-plugin,Java,Maven,Unit Testing,Junit,Maven Surefire Plugin,我正在尝试为一个自动构建工具运行多个项目的完整Maven构建。如果单元测试失败,但项目本身构建正确,我希望能够继续构建并在构建完成后检测到这一点。我试着这样做: mvn clean package -Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true -Dmaven.test.reportsDirectory=/Users/bfraser/misc/reports “maven.test.failure.ignore”和
mvn clean package -Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true -Dmaven.test.reportsDirectory=/Users/bfraser/misc/reports
“maven.test.failure.ignore”和“maven.test.error.ignore”属性工作正常。但是,surefire似乎完全忽略了“maven.test.reportsDirectory”(事实上,如果您查看,reportsDirectory
属性没有被记录为绑定到系统变量)。这可能是因为我正在构建一个多模块项目?所有报告似乎都位于子项目的目标/文件夹中
我很难以自动化的方式编辑POM,因为其中许多POM的父POM可能位于某个地方的Nexus回购协议上,等等——我需要能够在项目外部执行此操作(最好通过命令行开关,但如果我需要创建一些文件,就这样吧……只要我不必编辑项目POM,一切都很好)
我只需要知道是否有任何测试失败。我并不特别在意什么/多少测试失败。你能不能在最后使用
-fae
使构建失败,而不是使用Surefire配置?@Tunaki-当然,但我需要找出失败是由于单元测试失败还是真正的构建失败。如果只是单元测试失败st failure,我可以继续构建其他几个项目,然后可能尝试在远程机器上运行一些更高级别的集成测试,等等。难道你不能在最后使用-fae
使构建失败,而不是使用Surefire配置?@Tunaki-当然,但我需要找出失败是由于单元测试失败还是真正的bu造成的吗ild失败。如果只是单元测试失败,我可以继续构建其他几个项目,然后尝试在远程机器上运行一些更高级别的集成测试,等等。