如何为比所有其他测试花费更长时间的特定测试重写Timeout@Rule



我在junit测试基类中定义了一个规则,但在一个扩展类中进行一次测试需要更长的时间,我想知道这里是否有一个好的实践来涵盖这种情况?

我可以简单地为该测试提供一个超时吗?这会覆盖超时规则吗?比如:

@Test(timeout = 3600000)
public void testLongTimeout() throws Exception { ... }

或者有更好的方法吗?我也在考虑将单个测试从那个类移到它自己的类中,并为此重写超时规则。建议?

@Testtimeout属性和Timeout规则都是独立应用的。因此,如果你将两者结合起来,将会发生的情况是,较低的值将占上风。正如您所建议的,将有问题的测试放在自己的类中并使用自己的规则可能是最好的解决方案。

最新更新