5

このドキュメントによると、スーパークラスの @BeforeClass メソッドは、現在のクラスの前に実行されます。しかし、私の場合は起こりません。

私はjunit 4.8.1を使用しています。

私が間違っていることを教えてください。

私の親クラスは次のようになります。

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

それは子供です:

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

NormalPromoterUnitTest.setUpOnce() が呼び出されます。AbstractPromoterUnitTest.setUpOnce() は違います。

4

1 に答える 1

8

抽象クラスの静的メソッドをシャドーイングしています。それらの1つに別の名前を付けます。

于 2012-08-30T23:43:19.440 に答える