2010-10-01 49 views
4

如果单元测试失败,Maven的报告部分中的插件都不会执行。如果发生单元测试失败,则Maven报告插件不会执行

我发现我可以在这里设置maven.test.failure.ignore = true - http://jira.codehaus.org/browse/SUREFIRE-247这种方法的问题是现在我们的哈德森构建是成功的,即使存在单元测试失败。

我真的很想做的事情是设置报告插件maven-surefire-report-plugin与一个阶段的构建插件运行,但我无法得到这个工作。

有关如何在发生单元测试失败时执行Maven报告插件的任何想法?

+0

你有没有想过解决这个问题的方法? – kaqqao 2017-06-26 22:27:54

回答

1

在您发布的链接:

随着最新版本(2.1.2),我得到 一条消息,说“有一些 测试失败,”但我没有得到任何报告 无论在任何地方或者不指定 变量,或者我是否指定 “testFailureIgnore”插件 配置。我用 2.0得到了很好的报告,但没有得到2.1.2的报告。

您需要版本2,1还是可以使用2.0版本的Maven?

+0

由于该评论已超过四年,我忽略了版本问题。目前我们正在使用2.2.1版本,而且我认为我们现在还不能恢复到2.0。 – 2010-10-01 21:50:03

+0

ups不好意思,应该找那个。 – 2010-10-04 15:23:02

1

您在2.1.2中看到的错误是因为您需要在插件中执行forkmode设置。

set forkmode = never尝试它(我怀疑你的useSystemclassloader属性可能存在问题)。

否则,请使用maven-surefire插件2.5版本,它应该定义工作,并且即使很少的测试失败也会生成确定的安全策略。

+0

我遇到的问题是在maven-surefire-report-plugin中。我实际上是使用maven-surefire-report-plugin从flexMojos创建的surefire报告创建报告。也许这是一个我应该包含的细节,但我没有看到maven-surefire-report-plugin应该如何依赖maven-surefire插件中的行为。 – 2010-10-25 18:27:44

+0

首先运行:MVN测试或MVN安装 然后,如果测试失败,请执行以下目标产生上面执行的测试结果报告: MVN -Dmaven.test.skip =真神火报告:报告 – 2010-11-06 12:58:33

1

如果报告在执行后已经生成,请使用surefire-report:report-only插件。

+0

因此,我正在运行'mvn install surefire-report:report-only',但在安装目标期间发生单元测试失败时,surefire-report插件从不运行(相同问题) – 2010-11-04 21:39:33

2

首先运行:MVN测试或MVN安装之后,如果测试失败,请执行以下目标来生成执行测试结果上面的报告:MVN -Dmaven.test.skip =真神火报告:报告

+0

这可行,但我不知道该怎么做在哈德逊CI建立。有关如何做到这一点的任何建议?谢谢你的帮助! – 2010-11-15 16:59:04

+0

尝试以这样一种方式创建两个Hudson作业,使其指向项目的一个工作空间。在第一份工作尝试运行mvn测试或mvn安装和在其他工作只是执行mvn -Dmaven.test.skip = true surefire-report:报告(不要在第二份工作中运行mvn clean) – 2010-11-26 11:40:59

相关问题