Android-volley 如何在 Listener 中通过单元测试

标签 android unit-testing android-volley

我有一些关于 Android Volley 的请求。由于 Listeners 正在做一些事情,比如将响应 JSON 转换为对象,我想测试它们以确保它们做的是正确的事情。问题是,我不太了解如何进行单元测试。我确实设置了带有 JUnit 的 Robolectric,但我们将不胜感激。我将如何设置我的测试以便我可以测试传递到请求中的 Listener 对象?

最佳答案

看一下CacheDispatcher就够了:

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

这是创建请求响应的地方,使用抽象的 parseNetworkResponse 方法(如果您已经实现了它),然后:

mDelivery.postResponse(request, response);

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

这实际上也意味着,您可能不会这样做 - 测试调用了哪个方法(Response.success 或 Response.error)就足够了 - 这是您的第一个单元测试。其次,只测试您的听众。

关于Android-volley 如何在 Listener 中通过单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607692/

相关文章:

java - 无法在 Android 中的 URL 中发送阿拉伯字符

python - 模拟补丁多个

java - JUnit如何设置测试类?

android - 无法在 Android 的 Volley 请求监听器中更新 ListView 适配器

java - 从 JSON 或 XML 提要导入数据并在 Android 中创建列表

android - 如何从我们在 xamarin.forms 中的应用程序打开设置?

java - 如何在两个字符串之间或单个字符串内显示 vector/图像

ruby-on-rails - 在 rails 下使用 rspec 切换测试::单元

java - 使用 Volley 与 ESP8266 与 AndroidApp 通信

java - 获取 ImageView 中点击的 X/Y 位置