我对Android Volley提出了一些要求。当监听器正在执行诸如将响应JSON转换为对象之类的事情时,我想对其进行测试以确保它们在做正确的事情。问题是,我对如何进行单元测试不是很了解。我确实已经设置了Robolectric和JUnit,但是任何帮助都将不胜感激。我将如何设置测试,以便测试传递到请求中的Listener对象?

最佳答案

看一下CacheDispatcher就足够了:

        Response<?> response = request.parseNetworkResponse(
                new NetworkResponse(entry.data, entry.responseHeaders));

使用抽象的parseNetworkResponse方法(如果已实现),在此创建请求的响应,然后:
mDelivery.postResponse(request, response);

如果您深入研究代码,实际上会触发监听器。其余的东西与线程有关。我建议您实现采用静态NetworkResponse并调用mDelivery的postResponse的简单测试例程。

这实际上还意味着,您可能无法采用这种方式-足以测试调用了哪个方法(Response.success或Response.error)-这是您的第一个单元测试。其次,只测试您的听众。

10-05 21:17
查看更多