根据this文档,父类(super class)的@BeforeClass方法将在当前类之前运行。但这对我而言并没有发生。

我正在使用junit 4.8.1。

你能告诉我我做错了什么吗?

我的 parent 类(class)看起来像这样:

public abstract class AbstractPromoterUnitTest extends TestCase {
    @BeforeClass
    public static void setUpOnce() {
        // Do something here.
    }
}

是 child :
@RunWith(JUnit4.class)
public abstract class NormalPromoterUnitTest extends AbstractPromoterUnitTest{
    @BeforeClass
    public static void setUpOnce() {
        // Do something here 2.
    }
}

调用NormalPromoterUnitTest.setUpOnce()。不是AbstractPromoterUnitTest.setUpOnce()。

最佳答案

您正在掩盖抽象类的静态方法。给其中的一个起一个不同的名字。

关于java - 父类的@BeforeClass方法未调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12207061/

10-11 22:38