我在对象映射器中使用以下方法来模拟writeValueAsString(any())
方法。但是,在我在应用程序中测试的方法中,writeValueAsString
方法没有被模拟并被调用。
我也尝试了spy
,但它没有用。还有其他建议。
试验1
ObjectMapper mockOM = Mockito.mock(ObjectMapper.class);
when(mockOM.writeValueAsString(any())).thenReturn(t);
试验2
ObjectMapper mockOM = Mockito.spy(new ObjectMapper());
when(mockOM.writeValueAsString(any())).thenReturn(t);
t
在这里是一个字符串。
任何帮助都会很棒
答案 0 :(得分:0)
我曾遇到过同样的问题。 以下为我解决了这个问题:
ObjectMapper mockOM = Mockito.mock(ObjectMapper.class);
// old: when(mockOM.writeValueAsString(any())).thenReturn(t);
doReturn(t).when(mockOM).writeValueAsString(any());