2009-06-17 519 views

回答

13

Hudson實際上可以忽略測試失敗。它只需要作爲哈德遜的財產。 -Dmaven.test.failure.ignore = false

0

如果您使用Ant來驅動構建,則可以將JUnit任務配置爲在發生故障時暫停。你是這個意思嗎?

+0

我實際上使用maven ... – 2009-06-17 00:33:36

+1

但我不想停止構建測試失敗。哈德森只是報告構建不穩定,但我希望它報告失敗,如果一個或多個單元測試失敗。 – 2009-06-17 00:34:57

0

看看你的工作配置,我相信有一個屬性(複選框),說失敗的測試失敗,或類似的東西。我們在我的一些項目中使用了這個功能。

否則,如果你想使用Ant方法的建議Maven可以運行Ant任務...

2

有兩個屬性的junit任務

errorProperty="maven.test.error" 
failureProperty="maven.test.failure" 

JUnit的標籤後,你應該能夠做這樣的事情

<fail message="Test failed!!!" if="maven.test.error" /> 
<fail message="Test failed!!!" if="maven.test.failure" /> 

但不要釘箱機在這

+0

好主意,如果它的工作! – guerda 2009-06-17 05:34:46

3

如果在使用哈德森時測試失敗,則構建失敗實際上不是一個好主意。問題是如果構建失敗,哈德森不會報告測試通過/失敗的狀態。如果構建失敗,哈德森認爲它沒有正確完成,因此不會對結果採取行動。