如果单元测试失败,Maven报告部分中的任何插件都不会执行。
我发现我可以在这里设置maven.test.failure.ignore = true - http://jira.codehaus.org/browse/SUREFIRE-247这种方法的问题是,即使存在单元测试失败,我们的哈德森构建也是成功的。
我真正想做的是设置报告插件maven-surefire-report-plugin以在阶段上使用构建插件运行,但我无法使其工作。
如果单位测试失败,如何让Maven报告插件执行?
答案 0 :(得分:2)
首先运行:mvn test或mvn install然后,如果测试失败,请运行以下目标以生成上面执行的测试结果的报告:mvn -Dmaven.test.skip = true surefire-report:report
答案 1 :(得分:1)
在您发布的链接中:
使用最新版本(2.1.2),我知道了 一条消息说“有一些 测试失败,“但我没有报告 在任何地方,无论我是否指定 变量,或者我是否指定 插件中的“testFailureIgnore” 配置。我的报告很好 2.0,但不是2.1.2。
您需要版本2,1还是可以使用2.0版本的Maven?
答案 2 :(得分:1)
您在2.1.2中看到的错误是因为您需要在插件中执行forkmode设置。
设置forkmode = never并尝试它(我怀疑你的useSystemclassloader属性可能存在问题)。
否则,请使用maven-surefire插件版本2.5,即使很少有测试失败,也应该确定工作并生成万无一失的插件。
答案 3 :(得分:1)
如果报告已在执行后生成,请使用surefire-report:仅报告插件。
答案 4 :(得分:0)
我遇到了同样的问题,这是由于对报告插件的错误调用。
maven命令的正确执行是:mvn surefire-report:report
这将自动运行测试阶段,如果失败,它将生成报告。
检查文档: http://maven.apache.org/surefire/maven-surefire-report-plugin/report-mojo.html
希望这有帮助!! :d