У меня есть небольшой проект, который в основном представляет собой оболочку Python для API веб-сайтов.
Он довольно хорошо протестирован, но есть некоторые условия, при которых я не могу понять, как легко протестировать: когда удаленный API недоступен или иным образом сломан.
В частности, мне бы хотелось провести тест по каждому из следующих элементов:
- Когда сайт недоступен (тайм-аут соединения)
- Когда сайт доступен, но возвращает код ошибки HTTP (например, ошибка 404 или 500)
- Содержимое искажено. Сайт имеет XML-интерфейс. Некоторое время назад на сайте были проблемы, и страница, которая должна была быть файлом XML, была страницей HTML, которая нарушила синтаксический анализ XML.
Как я могу протестировать эти случаи? Единственное, что я могу придумать, это изменить URL-адрес API на несуществующий сервер (в случае недоступности) и локальный веб-сервер для ошибки 500/404 / искаженные данные.