JMockitを使用した単体テスト4

staticなメソッドにモックを使用する

対象のメソッドがstaticなメソッドを使用している場合も、基本は同じです。

テストクラス

    @Test
    public void testGet() {
        new Expectations() {
            // (1) staticなメソッドを持つクラスを宣言
            MobileContextFactory mockMobileContextFactory;
            {
                // (2) staticメソッドを呼び出し、戻り値を返す
                MobileContextFactory.create(); // staticメソッド
                returns(mockDoCoMoMobileContextFactory);
            }
        };
    }


(2)のように普通にstaticなメソッドを呼び出します。上記の例では、(1)で宣言したmockMobileContextFactoryは使用していませんが、MobileContextFactoryをモックにするにはこの宣言が必要です。