在TestNG中定时测试

时间:2008-12-08 21:18:57

标签: java multithreading testng

由于库升级(easymock 2.2 - > 2.4),我们正在进行已开始锁定的测试。我希望有个别测试的时间,所有这些。我们的想法是确定锁定的测试 - 我们目前正在猜测 - 并修复它们。

这是否可行,最好是在整个套件范围内?我们有400个测试,每个方法都这样做,甚至每个课都很费时。

4 个答案:

答案 0 :(得分:5)

suite tag可以具有超时属性。此超时将用作所有测试方法的默认值。

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

很晚,但是:运行jstack -l <PID>将为您提供堆栈转储,您可以检查它以查找哪些呼叫被卡住。你可能想要抽样几次以确保它们被卡住了。

答案 3 :(得分:1)

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