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をモックにするにはこの宣言が必要です。