Java 如何对一个有返回值且依赖于我的其他类的方法进行单元测试?
我是java单元测试的新手。如何对一个有返回值且依赖于我的其他类的方法进行单元测试 以下代码将Java 如何对一个有返回值且依赖于我的其他类的方法进行单元测试?,java,unit-testing,testing,Java,Unit Testing,Testing,我是java单元测试的新手。如何对一个有返回值且依赖于我的其他类的方法进行单元测试 以下代码将响应库转换为对象。parser.fromJson(json,type)和decodeToJson(value)是我的自定义方法。 我应该如何对方法进行单元测试convert(ResponseBody) 我只验证与重要的依赖模拟对象的交互是否正确。我应该验证返回的值吗 希望有人能帮助我,谢谢 您可以使用任何模拟框架,如Mockito或JMock来模拟响应 您不必验证从JsonParser返回的实际值,因为
响应库
转换为对象。parser.fromJson(json,type)
和decodeToJson(value)
是我的自定义方法。
我应该如何对方法进行单元测试convert(ResponseBody)
我只验证与重要的依赖模拟对象的交互是否正确。我应该验证返回的值吗
希望有人能帮助我,谢谢 您可以使用任何模拟框架,如
Mockito
或JMock
来模拟响应
您不必验证从JsonParser
返回的实际值,因为您不是为JsonParser
编写单元测试,而是为您的类编写单元测试
如果要验证调用任何模拟的次数,可以执行以下操作:
verify(converter, Mockito.times(1)).decrypt(eq(dummyResponse));
如果您的mock根本没有被调用或多次被调用,则此操作将失败。什么是
ResponseBody
?如何初始化解析器
对象?ResponseBody
在okHttp中定义并包含我的服务器api响应。您必须使用类似于Mockito
或JMock
@code peedient解析器
由MyConverter
的构造函数注入。对不起,我将编辑有问题的代码!
@Test
public void testConvert_withCipher() throws Exception {
converter = spy(new MyConverter(mockParser, mockType, null));
ResponseBody dummyResponse = ResponseBody.create(MediaType.parse("application/json"), "{text:'Dummy response'}");
converter.convert(dummyResponse);
verify(converter).decrypt(eq(dummyResponse));
verify(mockParser).fromJson(anyString(), eq(mockType));
}
verify(converter, Mockito.times(1)).decrypt(eq(dummyResponse));