由于库升级(easymock 2.2 -> 2.4),我们的测试已经开始锁定。我想暂停一下个人测试,所有这些测试。这个想法是识别锁定的测试 - 我们目前正在猜测 - 并修复它们。
这可能吗,最好是在套件范围内?我们有 400 个测试,每个方法甚至每个类都这样做会很耗时。
由于库升级(easymock 2.2 -> 2.4),我们的测试已经开始锁定。我想暂停一下个人测试,所有这些测试。这个想法是识别锁定的测试 - 我们目前正在猜测 - 并修复它们。
这可能吗,最好是在套件范围内?我们有 400 个测试,每个方法甚至每个类都这样做会很耗时。
套件标签可以具有超时属性。此超时将用作所有测试方法的默认值。
这个默认超时可以在每个测试方法的基础上被覆盖。
如果套件级别被证明是错误的方法(即“网络太宽”,因为您最终标记了太多带有超时限制的方法),您需要定义一个自定义IAnnotationTransformer ,对于每个难以辨认的函数,它将给出您有机会修改 @Test 注释(例如使用setTimout() 方法)。
(setTimout(0)
取消超时指令)
很晚了,但是:运行jstack -l <PID>
会给你堆栈转储,你可以检查它以找出哪些调用被卡住了。您可能需要采样几次以确保它们被卡住。
您可以搜索并用“@Test(timeout=)”替换“@Test”应该可以找到锁定的测试,之后可以撤消。