2010-04-22 174 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