Тест удваивается для HTTP-классов стандартной библиотеки Python
Какая широко используемая библиотека Python используется для создания двойных тестов поведения низкоуровневых API-интерфейсов HTTP из стандартной библиотеки Python?
У меня есть кодовая база (код Python 2), которая выполняет HTTP-сеансы с использованием различных классов уровня HTTP в стандартной библиотеке: httplib.HTTPConnection
а также urllib2.HTTPBasicAuthHandler
и так далее.
Тестирование этого кода станет намного проще, если я смогу создать множество двойных тестов с предопределенным поведением и инструментарием для последующей проверки, чтобы позволить тестируемым функциям взаимодействовать с этими двойниками вместо реальных вещей.
Разумеется, издеваться над API - не проблема; стандарт mock
библиотека делает это легко. Однако здесь необходимо предварительно установить конкретные ответы в определенных точках во время сеанса HTTP, не дублируя остальную часть реализации протокола низкого уровня.
Я надеюсь, что "широко известная" библиотека будет доступна в репозиториях пакетов ОС. Требование пакета от третьей стороны было бы значительным расходом для этого проекта, поэтому он бы очень помог, если он уже упакован и находится в Debian.
Какие стандартные библиотеки кода предоставляют классы, которые позволяют удвоить поведение httplib
классы и urllib2
классы и т. д. для тестовых случаев?