2010-04-22 113 views
5

我們在maven2項目中有一堆測試,並用巡航控件構建。然而,構建經常掛起,因爲暫停測試的註釋Maven2 junit超時註釋不起作用

@Test(timeout = 5000) 

被忽略。 我試着在本地運行maven,再現了超時被忽略的事實。

有沒有辦法再次激活測試超時?

我目前在巡航控制中使用一種解決方法設置超時。然而,這僅僅意味着整個構建被取消,而不僅僅是應該失敗的測試。

備註: 似乎在Maven的1有激活它在Maven 2中

回答

3

試試拖欠設置forkedProcessTimeoutInSeconds參數Maven Surefire Plugin的JUnit的超時屬性:

殺在一定的秒數後分叉測試過程。如果設置爲0,永遠等待用於的過程中,從來沒有超時

這似乎是在Maven的1 maven.junit.timeouttest property的等效,並且將「激活」在Maven的水平超時(從註釋不同) 。

+0

感謝您的意見。任何想法爲什麼註釋不起作用? – roesslerj 2010-04-22 14:29:17

+0

@roesslerj我沒有意識到所有的細節,並且我將說明這個明顯的問題,但我猜想surefire插件沒有實現對此的支持。你總是可以嘗試提出一個問題http://jira.codehaus.org/browse/SUREFIRE。 – 2010-04-22 23:38:27