Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mockito Powermockito对象映射器_Java_Unit Testing_Mockito_Powermockito - Fatal编程技术网

Java mockito Powermockito对象映射器

Java mockito Powermockito对象映射器,java,unit-testing,mockito,powermockito,Java,Unit Testing,Mockito,Powermockito,我正在使用以下方法模拟对象映射器中的writeValueAsString(any())方法。但是,writeValueAsString方法没有被模拟,也没有在我正在应用程序中测试的方法中被调用 我也试过间谍,但没用。还有其他建议吗 试验1 ObjectMapper mockOM = Mockito.mock(ObjectMapper.class); when(mockOM.writeValueAsString(any())).thenReturn(t); 试验2 ObjectMapper mo

我正在使用以下方法模拟对象映射器中的
writeValueAsString(any())
方法。但是,
writeValueAsString
方法没有被模拟,也没有在我正在应用程序中测试的方法中被调用

我也试过间谍,但没用。还有其他建议吗

试验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
在这里是一个字符串


任何帮助都会很好

我曾经遇到过同样的问题。 以下内容为我解决了这个问题:

ObjectMapper mockOM = Mockito.mock(ObjectMapper.class);
// old: when(mockOM.writeValueAsString(any())).thenReturn(t);
doReturn(t).when(mockOM).writeValueAsString(any());

您可以显示您的测试代码吗?我们需要您的测试代码来查看您是否可以只设置
,以便调用的函数工作,或者您可能被迫使用PowerMockito.ObjectMapper om=new ObjectMapper();对不起,错误的代码。。。实际上,我的代码如下所示:function(){//………ObjectMapper om=new ObjectMapper();///Logger.info(“Log object”+om.writeValueAsString(ClassObject))//}我在模拟函数中所有在方法中使用的对象,这是因为我使用logger函数通过对象映射器om调用writeValueAsString吗?实际上,我的代码如下所示:函数(){//………ObjectMapper om=new ObjectMapper();///logger.info(“Log Object”+om.writeValueAsString(ClassObject))//}我在模拟函数中所有在方法中使用的对象,是因为我使用的记录器函数通过对象映射器om调用writeValueAsString吗?我不明白你想告诉我什么。也许你可以在评论中格式化你的代码,这样更容易阅读你的评论。或者将测试代码添加到问题中