2010-10-01 45 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

相關問題