備忘録 - PowerMockito

PowerMock(PowerMockito)とは

mockitoではstaticメソッドやprivateメソッドはmock化することができませんが、powermockを使うことにより、staticメソッド、privateメソッドをmockにすることができます。

使い方(maven)

  • pom.xmlに以下を追加
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-module-junit4</artifactId>
                <version>1.5.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-api-mockito</artifactId>
                <version>1.5.1</version>
                <scope>test</scope>
            </dependency>
  • テストクラスにアノテーションを追加
    • @RunWith(PowerMockRunner.class)
    • @PrepareForTest(PasswordUtil.class)(モックにするクラスを記載する。複数可)
    • @PowerMockIgnore({"javax.crypto.*"}(※cipherがおかしくなるので、cipherクラスを使う場合はこのアノテーションも追加)
  • staticメソッドをmockにする
PowerMockito.mockStatic(PasswordUtil.class);

参考