我有一个基本的测试类,我所有的其他测试用例都从它继承而来。
在超类中,我通过以下方式设置了一个全局计时器:
@Rule
public Timeout globalTimeout = new Timeout(30000);
Run Code Online (Sandbox Code Playgroud)
但是,对于子类中的某些方法,我希望超时时间更长。
例如:
@test(timeout=alongtime)
private void sometTest()
Run Code Online (Sandbox Code Playgroud)
但这似乎根本不影响全局计时器,我通过在全局设置非常短的超时和在子类中设置非常长的超时进行了测试。
有没有办法让 JUnit 遵守在方法上定义的超时?
我有一个基本的测试类,我的所有其他测试用例都继承自该类。
不要那样做。
使用继承来共享测试代码不太灵活。使用委托来共享代码。这种情况下,只需在需要的测试类中添加超时规则即可。大多数测试应该是单元测试,并且不需要超时。
如果基类中有很多逻辑,请将其提取到另一个类(可能是自定义规则)。
| 归档时间: |
|
| 查看次数: |
1990 次 |
| 最近记录: |