Я пишу инструментальные тесты, используя Square MockWebServer для имитации ответов сервера и OkHttpIdlingResource, чтобы дождаться окончания работы OkHttp до тех пор, пока не будут продолжены остальные шаги теста.Я также использую диспетчер MockWebServer, чтобы я мог по-разному реагировать на определенные запросы в зависимости от пути.
Я столкнулся с проблемой, когда тесты работают для некоторых версий Android API и не работают для других.
На Зефире испытания проходят, как и ожидалось.Когда я запускаю на Android Pie, MockWebServer отвечает на несколько запросов, но затем, по какой-то причине, OkHttp генерирует исключение java.net.ConnectException.
Если я нажимаю на своем реальном веб-сервере, все работает нормально для любой версии приложения, только при использовании MockWebServer я вижу эту проблему.
Я понятия не имею, что может вызвать это, и журналы не выходят на поверхность ничего полезного.В случае сбоя я вижу, что MockWebServer имеет несколько успешных 200 ответов, но по какой-то причине исключение ConnectException происходит во время одного из вызовов.
Единственная странная вещь, которую я вижу в журналах, - это то, что Espresso ViewAssertionрегистрируется до последнего, не удается, запрос OkHttp регистрируется.Таким образом, возможно, что OkHttpIdlingResource говорит, что он бездействует, когда на самом деле это не так.
Есть идеи, что может быть не так?