JUnit

Mockitoのspyと例外(解決編)

概要 spy()で作成したインスタンスに対して、本来例外が発生するパターンでwhen().thenReturn()を用いてモックを定義しようとすると本来の例外が発生してしまいテストができない。 これを回避するためにはdoReturn()を使えばよい。 検証 環境 Java8 powermoc…

Mockitoのspyと例外

現象 spy使ってたら例外が出た。 例外のスタックトレースを見ると、when()が実行されるタイミングで実コードが実行されて、発生した例外が持ち出されてくるようだ。 mockを使った場合はこの現象は発生しない。 検証 ソースコード package kurukuruz.test.moc…

Mockito+PowerMockで不可視メソッドをspy

目的 privateメソッドやパッケージ違いの親クラスのprotectedメソッドのようにテストコードから不可視なメソッドにspyを適用したい。 方法 PowerMockito.whenを使う。 Target target = PowerMockito.spy(new Target()); PowerMockito.when(target, "invisibl…

Servletクラスのテスト

目的 JSONを返却するServletクラスの単体テストがしたい。 概要 GETメソッドのサーブレット doGetをたたく 引数にはMockHttpServletRequest, MockHttpServletResponseを利用 Connectionはデータソースを利用 PowerMockでモック JUnitのTheoryも併用 検証プロ…

HamcrestでSecurityException

環境 Eclipse Java 7 JUnit 4.11 (EclipseのJUnit 4ライブラリーを使用) Hamcrest 1.3 ※Java 9 + JUnit 4.12でも確認 現象 JUnit 4ライブラリーに加えてhamcrest-library-1.3.jarをビルドパスに加えて1org.hamcrest.Matchersを使おうとしたところ、以下の例…