以下のバージョンを使用
- PowerMock:1.7.3
- Mockito:2.8.9
// モック化するクラス public class StaticFoo { public static String staticMethod() { return "bar"; } } // テストケース @RunWith(PowerMockRunner.class) // 1 @PrepareForTest(StaticFoo.class) // 2 public class StaticFooTest { @Test public void test() { PowerMockito.mockStatic(StaticFoo.class); // 3 Mockito.when(StaticFoo.staticMethod()).thenReturn("BAR"); // 4 String actual = StaticFoo.staticMethod(); assertThat(actual).isEqualTo("BAR"); } }
- @RunWithにPowerMockRunnerを指定
- @PrepareForTestにモック化するクラスを指定
- PowerMockito#mockStaticでstaticクラスをモック化
- Mockito#whenでstaticメソッドの戻り値を設定