JUnit 4测试套件和单独的测试类
-
22-09-2019 - |
题
我有一个JUnit 4测试套件与BeforeClass和课余方法,使以下测试类建立/拆除。 我需要的是也是由他们的自我运行测试类,但我需要为每个测试类建立/拆除方案(BeforeClass和课余或类似的东西)。问题是,当我运行该套件我不想执行安装/拆卸前,每个测试类之后,我只想从测试套件(一次)执行安装/拆卸。 可能吗 ?由于事先。
解决方案
我不知道用JUnit做到这一点任何标准方式。它的原因,正如你可能已经知道,那是你的测试用例应该相互独立运行。这涉及在每次测试方法之后运行的“正常”安装/拆卸方法。一流的建立和拆除是有些不同 - 但我还是宁愿独立运行我的测试和故障区的住了
但是,如果你真的相信你在做什么,你可以使用一个全球性的标志信号类安装/拆卸是否是运行,并在课堂上安装/拆卸方法来检查其状态。在您的测试套件,你可以包括一类特殊的。因为第一个,这确实不外乎执行设置,并设置全局标志,以指示实际测试案例,他们的阶级安装/拆卸方法不能运行。同样,在浴室的一个特殊的最后一堂课可以执行拆解代码。需要说明的是,我怕的JUnit不保证一套房的内部测试类的执行顺序,但可能是最它不按照指定的顺序执行他们 - 但是这仅仅是一个实现细节。试试吧,它可以为你工作 - 但也不能保证它永远做你所期望的。
其他提示
如果有junit 4.7+我建议考虑所谓的规则,新功能(该功能在的这个博客帖子)。他们可能不正是你想要的,但他们很可能是你使用JUnit得到最好的。
据说TestNG的具有更好的测试分组的可能性,但我还没有真正看过,但我自己。
没有,有一个在JUnit来做到这一点没有标准的方式,但你可以砍的东西了彼得Török建议。
然而请注意,你都或多或少在做这个滥用的JUnit。单元的整点测试中,它使得它们的独立彼此的。这是因为测试之间的相关性创建总维护恶梦(测试失败,因为在错误的顺序运行)。
所以我建议你认真考虑,如果它是不是更好,只是始终运行setup ...