android - Mockwebserver 和 OkHttpIdlingResrouce 连接异常
问题描述
我正在使用 Square 的 MockWebServer 编写仪器测试来模拟服务器响应,并使用 OkHttpIdlingResource 来等待 OkHttp 完成工作,直到剩余的测试步骤继续。我还使用了 MockWebServer 调度程序,以便我可以根据路径以不同方式响应某些请求。
我遇到了一个问题,即测试适用于某些 Android API 版本,而它们不适用于其他版本。
在 Marshmallow 上,测试按预期通过。当我在 Android Pie 上运行时,MockWebServer 会响应几个请求,但随后,出于某种原因,OkHttp 抛出了 java.net.ConnectException。
如果我点击我的真实网络服务器,任何应用程序版本都可以正常工作,只有在使用 MockWebServer 时我才会看到这个问题。
我不知道是什么导致了这种情况,并且日志没有显示任何有用的信息。在失败的情况下,我可以看到 MockWebServer 有几个成功的 200 响应,但由于某种原因,在其中一个调用期间发生了 ConnectException。
我可以在日志中看到的唯一奇怪的事情是,在记录最后一个失败的 OkHttp 请求之前记录了 Espresso ViewAssertion。所以可能是 OkHttpIdlingResource 说它是空闲的,而实际上它不是。
关于什么可能是错误的任何想法?
解决方案
推荐阅读
- r - 在 dplyr 中保留与其他 df 具有相同列字符的行
- javascript - JavaScript - 制作通用地图/查找/过滤功能
- scheme - 在 Chez Scheme 中引用数字常量
- pytorch - 为什么我的微调 DistilGPT2 模型没有生成新行?
- javascript - 为什么我不能将导航定位为下拉过渡?
- python - Django 命令:如何在 Windows Server 上正确调度
- google-cloud-platform - 将 Google Cloud 成本降至零(计算引擎)
- python - Clion(使用 CMake)在设置 python 解释器时会感到困惑
- python - 使用 HM NSIS 编辑创建安装程序,“无法执行主脚本”
- c# - 如何将我的矩阵存储在 C# 中的图片框中?