Maven2 junit超时注释不起作用

发布于 2024-08-29 10:46:21 字数 308 浏览 3 评论 0原文

我们在 Maven2 项目中进行了大量测试,并使用 CruiseControl 进行构建。然而,构建经常挂起,因为带有超时的测试注释

@Test(timeout = 5000)

被忽略。 我尝试在本地运行maven,重现超时被忽略的事实。

有没有办法再次激活测试超时?

我目前使用一种解决方法在巡航控制中设置超时。然而,这仅仅意味着整个构建被取消,而不仅仅是应该失败的测试。

评论: 似乎在 Maven 1 中有一个属性可以激活 junit 超时,而在 Maven 2 中却缺少该属性。

We have a bunch of tests in a maven2 project and build with cruisecontrol. However the build regularly hangs, because the annotation of the test with a timeout

@Test(timeout = 5000)

is ignored.
I tried and run maven locally, reproducing the fact that the timeout is ignored.

Is there a way to activate the timeout for the tests again?

I currently use a workaround in setting a timeout in cruisecontrol. However this simply means that the whole build is canceled, and not just the tests that should fail.

Remark:
It seems in maven 1 there was a property to activate the junit timeout which is missing in maven 2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墨小沫ゞ 2024-09-05 10:46:21

尝试设置 forkedProcessTimeoutInSeconds Maven Surefire 插件 的 参数:

一定秒数后终止分叉测试进程。如果设置为0,则永远等待该进程,永不超时

这似乎相当于 maven.junit.timeout test property 在 Maven 1 中,并将在 Maven 级别“激活”超时(与注释不同)。

Try to set the forkedProcessTimeoutInSeconds parameter of the Maven Surefire Plugin:

Kill the forked test process after a certain number of seconds. If set to 0, wait forever for the process, never timing out

This seems to be an equivalent of the maven.junit.timeout test property in Maven 1 and will "activate" a timeout at the Maven level (different from the annotation).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文