我们在maven2项目中进行了大量测试,并使用cruisecontrol构建。但是,构建会定期挂起,因为测试的注释带有超时
@Test(timeout = 5000)
被忽略。 我尝试在本地运行maven,重现超时被忽略的事实。
有没有办法再次激活测试的超时?
我目前在使用cruisecontrol设置超时时使用了一种解决方法。但是,这仅仅意味着整个构建被取消,而不仅仅是应该失败的测试。
注: 似乎在maven 1中有一个属性来激活junit超时,这在maven 2中是缺失的。
答案 0 :(得分:3)
尝试设置forkedProcessTimeoutInSeconds
的Maven Surefire Plugin参数:
在一定秒数后终止分叉测试过程。如果设置为0,则永远等待该过程,永远不会超时
这似乎相当于Maven 1中的maven.junit.timeout
test property,并且会在Maven级别“激活”超时(与注释不同)。