Строго говоря, о модульном тестировании можно тестировать только те модули, которые имеют детерминированное поведение .
Тест, который подключается к внешнему веб-серверу, - это интеграционный тест .
Решение состоит в том, чтобы смоделировать HTTPURLConnection, то есть создать класс в ваших модульных тестах, который наследуется от класса HTTPURLConnection и возвращает жестко закодированное или параметризуемое значение. РЕДАКТИРОВАТЬ : обратите внимание, что это может быть сделано в военном отношении, без каких-либо насмешливых рамок.
Класс, который запрашивает веб-сервер, не должен создавать экземпляр HTTPURLConnection, а получать его через параметр. В модульных тестах вы создаете HTTPURLConnectionMock и передаете его классу, который опрашивает веб-сервер, который будет использовать его так же, как и настоящий HTTPURLConnection. В рабочем коде вы создаете реальное соединение HTTPURLConnection и передаете его классу.
Вы также можете сделать свой HTTPURLConnectionMock способным генерировать IOException, чтобы проверить условия ошибки . Просто есть метод, чтобы сказать не возвращать результат, а исключение при следующем запросе.