问题
在使用Eclipse运行我们所有的JUnit测试时,我能否设置默认超时时间?
背景
我的经理坚持编写单元测试,有时需要长达5分钟才能完成。当我尝试运行我们的整个测试套件(大约300个测试)时,可能需要超过30分钟。我想要实现一个机制,停止任何运行时间超过10秒的测试。
我知道可以对单个测试进行注释:
@Test(timeout=10000)
但这样做会导致他的长测试用例总是失败。我希望当他在自己的机器上运行这些测试时它们能够正常工作(如果我必须在检入代码之前对项目进行小的调整,那是可以接受的。但是删除40个不同测试文件中的超时设置就不现实了)。
我也知道我可以创建一个ant任务来为所有测试设置默认超时,类似于:
<junit timeout="10000">
...
</junit>
我们通常在Eclipse中通过右键单击 > 运行为 > JUnit 测试来运行测试的问题是什么。
摘要
那么,是否有一种相对轻松的方法可以为所有测试设置超时,例如使用运行配置设置、项目设置、JUnit首选项、环境变量或其他方式?我甚至可以安装其他插件,让我右键单击特定的测试文件夹并以某种其他方式运行所有测试,比如通过 ant 或其他什么...
@test(timeout=10)
。然后,我只需永远不将该方面检入Subversion。这是我的计划,我想... - gMale@Test(timeout=10)
表示超时时间为 10 毫秒 而不是 10 秒。 - Stephan