我设置了一个包含几个测试的类,而不是使用 @Before
我希望有一个在所有测试之前只执行一次的设置方法。 Junit 4.8 可以吗?
最佳答案
虽然我同意@assylias 的观点,即使用 @BeforeClass
是一个经典的解决方案,但并不总是很方便。使用 @BeforeClass
注释的方法必须是静态的。对于一些需要测试用例实例的测试来说非常不方便。例如,基于 Spring 的测试使用 @Autowired
来处理在 spring 上下文中定义的服务。
在这种情况下,我个人使用带有 @Before
注释的常规 setUp()
方法并管理我的自定义 static
(!) boolean
标志:
private static boolean setUpIsDone = false;
.....
@Before
public void setUp() {
if (setUpIsDone) {
return;
}
// do the setup
setUpIsDone = true;
}
关于java - Junit - 运行一次设置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12087959/