getMessage没有返回模拟值

时间:2017-01-09 02:39:05

标签: mocking mockito

我没有从Mockito getMessage获得模拟值。 不确定我做错了什么。有什么想法吗?

测试用例:

SQSJSONMessage sqsJSONMessage = mock(SQSJSONMessage.class);

when(objMapper.readValue(message,SQSJSONMessage.class)).thenReturn(sqsJSONMessage);

doNothing().when(listener).decryptAndReplaceMessage(sqsJSONMessage);

when(objMapper.readValue(sqsJSONMessage.getMessage(), RecordCreatedMessage.class)).thenReturn(recordCreatedmessage);

when(sqsJSONMessage.getMessage()).thenReturn("test");   -- this throws null pointer exception

1 个答案:

答案 0 :(得分:0)

我注意到的第一件事是你在objMapper的第二个存根中使用sqsJSONMessage.getMessage(),你也可能在此之前移动sqsJSONMessage.getMessage()的存根:

when(sqsJSONMessage.getMessage()).thenReturn("test");
when(objMapper.readValue("test", RecordCreatedMessage.class)).thenReturn(recordCreatedmessage);

如果您不关心参数,请使用anyString()代替"test"