我有一组44个JUnit测试,我使用Eclipse运行(我从其他人那里得到了这些测试 - 我是JUnit测试的新手).当我一起运行它们时,其中24个失败.但是,如果我然后单独运行失败的那些,那么其中一些确实会通过.测试确实需要一些时间 - 其中一个失败的例子需要大约一到两分钟才能完成,而只需要让它们在几秒钟内完成.
我通过右键单击它们所在的文件夹并选择"Run As - > JUnit Test"来启动多个测试.我正在使用JUnit 3.我在启动时做错了/是否有某种选项我不知道?
GaryF的答案是一种可能性.另一个是测试具有竞争条件:测试是否成功取决于事物发生的速度(由于O/S的变化而变化).如果单独运行失败的测试,它们总是成功还是有时会失败.如果他们有时会失败,那么你可能会遇到竞争条件.
为了扩展Gary的答案,当右键单击并执行Run As - > JUnit时,您无法保证运行测试的顺序,这也可能有助于破坏共享资源.
我将首先查看您的setup()和teardown()方法,以确保正确地重置共享资源.此外,由于您继承了这些测试,您可能希望查看是否有任何测试相互依赖.虽然这是一个不好的做法,应该进行更改,但您可以创建一个测试套件()来确保它们运行的顺序(至少在您可以重新考虑和解耦测试之前).
归档时间: |
|
查看次数: |
9638 次 |
最近记录: |