closeSession()
ロギングが行われていることをテストできるように、メソッドが呼び出されたときに例外をスローする必要があります。Crypto
オブジェクトを次のようにモックし、mockCrypto
次のように設定しました。
@Test
public void testdecrpyMcpDataExceptions() throws Exception {
Crypto mockCrypto = Mockito.mock(Crypto.class);
try {
mockCrypto = CryptoManager.getCrypto();
logger.info("Cyrpto Initialized");
} finally {
logger.info("Finally");
try {
logger.info("About to close Crypto!");
Mockito.doThrow(new CryptoException("")).when(mockCrypto).closeSession();
mockCrypto.closeSession();
} catch (CryptoException e) {
logger.warn("CryptoException occurred when closing crypto session at decryptMcpData() in CipherUtil : esi");
}
}
}
ただし、実行するとエラーが発生します:
Argument passed to when() is not a mock!
クラスを間違って嘲笑していますか、それとも何か不足していますか?