mockitoではstaticメソッドやprivateメソッドはmock化することができませんが、powermockを使うことにより、staticメソッド、privateメソッドをmockにすることができます。
- 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);
このページへのコメント
ubBJi1 Great, thanks for sharing this blog.Really looking forward to read more. Awesome.
cujEuH I cannot thank you enough for the blog article.Really thank you! Much obliged.
W2uUSN Awesome article post.Much thanks again. Keep writing.