Java 如何对一个有返回值且依赖于我的其他类的方法进行单元测试?

Java 如何对一个有返回值且依赖于我的其他类的方法进行单元测试?,java,unit-testing,testing,Java,Unit Testing,Testing,我是java单元测试的新手。如何对一个有返回值且依赖于我的其他类的方法进行单元测试 以下代码将响应库转换为对象。parser.fromJson(json,type)和decodeToJson(value)是我的自定义方法。 我应该如何对方法进行单元测试convert(ResponseBody) 我只验证与重要的依赖模拟对象的交互是否正确。我应该验证返回的值吗 希望有人能帮助我,谢谢 您可以使用任何模拟框架,如Mockito或JMock来模拟响应 您不必验证从JsonParser返回的实际值,因为

我是java单元测试的新手。如何对一个有返回值且依赖于我的其他类的方法进行单元测试

以下代码将
响应库
转换为对象。
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));