获取消息不返回模拟值



>我没有从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

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

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

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

相关内容

  • 没有找到相关文章