我正在 eclipse 中编写一些 junit 测试,我需要在测试前做一些耗时的设置。似乎 @BeforeClass 应该是执行此操作的方法。我目前在具有 2 个@Test 函数的类上对此进行了测试。
当我右键单击 eclipse 中的一个类并选择“Run As”->“JUnit Test”时,我可以看到 @BeforeClass 在两个函数之前执行。
我什至尝试将@BeforeClass 更改为@Before 并将我们是否已经执行过此函数存储在一个 boolean 值中,但似乎 eclipse 从同一类创建了两个类对象,每个测试运行一个,所以没有帮助。
那么,即使我有很多测试,我应该怎么做才能让设置函数只运行一次?还是我只是在尝试运行测试时错误地使用了 eclipse?
设置是这样的:
public class SuperClass {
@BeforeClass
public void { // do timeconsuming setup }
}
public class TestClass extends SuperClass {
@Test
public void test1() { // perform first test }
@Test
public void test2() { // perform second test }
}
最佳答案
使使用 BeforeClass 注释的方法静态化可能是解决方案:
@BeforeClass
public static void
关于java - @BeforeClass 在 eclipse 中为同一个类运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193189/