6

由于库升级(easymock 2.2 -> 2.4),我们的测试已经开始锁定。我想暂停一下个人测试,所有这些测试。这个想法是识别锁定的测试 - 我们目前正在猜测 - 并修复它们。

这可能吗,最好是在套件范围内?我们有 400 个测试,每个方法甚至每个类都这样做会很耗时。

4

4 回答 4

5

套件标签可以具有超时属性。此超时将用作所有测试方法的默认值。

这个默认超时可以在每个测试方法的基础上被覆盖。

于 2008-12-08T21:32:15.557 回答
2

如果套件级别被证明是错误的方法(即“网络太宽”,因为您最终标记了太多带有超时限制的方法),您需要定义一个自定义IAnnotationTransformer ,对于每个难以辨认的函数,它将给出您有机会修改 @Test 注释(例如使用setTimout() 方法)。
setTimout(0)取消超时指令)

于 2008-12-08T21:47:32.123 回答
2

很晚了,但是:运行jstack -l <PID>会给你堆栈转储,你可以检查它以找出哪些调用被卡住了。您可能需要采样几次以确保它们被卡住。

于 2010-09-30T03:03:06.667 回答
1

您可以搜索并用“@Test(timeout=)”替换“@Test”应该可以找到锁定的测试,之后可以撤消。

于 2008-12-08T21:51:21.930 回答