我有一个JUnit 4测试套件与BeforeClass和课余方法,使以下测试类建立/拆除。 我需要的是也是由他们的自我运行测试类,但我需要为每个测试类建立/拆除方案(BeforeClass和课余或类似的东西)。问题是,当我运行该套件我不想执行安装/拆卸前,每个测试类之后,我只想从测试套件(一次)执行安装/拆卸。 可能吗 ?由于事先。

有帮助吗?

解决方案

我不知道用JUnit做到这一点任何标准方式。它的原因,正如你可能已经知道,那是你的测试用例应该相互独立运行。这涉及在每次测试方法之后运行的“正常”安装/拆卸方法。一流的建立和拆除是有些不同 - 但我还是宁愿独立运行我的测试和故障区的住了

但是,如果你真的相信你在做什么,你可以使用一个全球性的标志信号类安装/拆卸是否是运行,并在课堂上安装/拆卸方法来检查其状态。在您的测试套件,你可以包括一类特殊的。因为第一个,这确实不外乎执行设置,并设置全局标志,以指示实际测试案例,他们的阶级安装/拆卸方法不能运行。同样,在浴室的一个特殊的最后一堂课可以执行拆解代码。需要说明的是,我怕的JUnit不保证一套房的内部测试类的执行顺序,但可能是最它不按照指定的顺序执行他们 - 但是这仅仅是一个实现细节。试试吧,它可以为你工作 - 但也不能保证它永远做你所期望的。

其他提示

如果有junit 4.7+我建议考虑所谓的规则,新功能(该功能在的这个博客帖子)。他们可能不正是你想要的,但他们很可能是你使用JUnit得到最好的。

据说TestNG的具有更好的测试分组的可能性,但我还没有真正看过,但我自己。

没有,有一个在JUnit来做到这一点没有标准的方式,但你可以砍的东西了彼得Török建议。

然而

请注意,你都或多或少在做这个滥用的JUnit。单元的整点测试中,它使得它们的独立彼此的。这是因为测试之间的相关性创建总维护恶梦(测试失败,因为在错误的顺序运行)。

所以我建议你认真考虑,如果它是不是更好,只是始终运行setup ...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top