カテゴリー別アーカイブ: Mockito

MockitoでAbstractクラスの実メソッドを呼び出す方法

UnitテストでMockitoを使用していて、Abstractメソッドの実メソッドを呼び出す方法が分からなかったのでその方法をメモ。

すっごく簡単で、mockオブジェクトを生成する際の引数にMockito.CALLS_REAL_METHODSをつけるだけで生成されたAbstractのmockオブジェクトの実メソッドが呼ばれるようになる。


@Test
public void test_OK_リクエストのリモートユーザにログインユーザIDがセットされていること() {
try {
AbstractXXXXAction action = mock(AbstractXXXXAction.class, Mockito.CALLS_REAL_METHODS);
...
// 認証OKになること
Assert.assertEquals(true, action.verifyUserIdIfOkSetSession(req)); ←ここで実メソッドを呼び出してテストしている
...
} catch(Exception e) {
e.printStackTrace();
Assert.fail("予期しないExceptionがスローされました");
}
}