Курс Python → Тестирование с responses

Библиотека responses в Python представляет собой инструмент, который позволяет разработчикам генерировать и анализировать ответы на запросы. В отличие от библиотеки requests, которая используется для отправки HTTP-запросов, responses специализируется на создании фейковых ответов для тестирования приложений. Это полезный инструмент для проверки поведения вашего приложения при различных сценариях взаимодействия с внешними сервисами.

Основной целью использования библиотеки responses является создание симулированных ответов от сервера без необходимости настройки реального внешнего сервиса. Это позволяет разработчикам удобно тестировать обработку различных HTTP-ответов, статусов кодов и заголовков в их приложениях. Таким образом, можно убедиться, что приложение корректно обрабатывает разнообразные сценарии взаимодействия с внешними сервисами.

import responses

@responses.activate
def test_my_api():
    responses.add(responses.GET, 'https://api.example.com', json={'key': 'value'}, status=200)
    response = requests.get('https://api.example.com')
    assert response.json() == {'key': 'value'}

Приведенный выше пример демонстрирует как можно использовать библиотеку responses для тестирования API. Мы активируем responses, добавляем фейковый ответ на GET-запрос к определенному URL, отправляем реальный запрос с помощью библиотеки requests и проверяем, что полученный ответ соответствует ожидаемому значению. Такой подход позволяет эффективно проверить работу вашего приложения при взаимодействии с внешними сервисами.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Переменные в Python: сокращение гласных
  2. Разделение строки с регулярными выражениями
  3. Анонимные функции в Python
  4. Инверсия списка и строки в Python
  5. Генерация тестовых данных с factory_boy
  6. Функция all() в Python
  7. Декораторы в Python
  8. Проблема с изменяемыми аргументами
  9. Отладка регулярных выражений в Python
  10. Python Метод del.
  11. Генерация QR-кодов с библиотекой qrcode
  12. Улучшение читаемости кода в Python
  13. Чтение и запись TOML-конфигов
  14. Namedtuple в Python
  15. Потоковый ввод в Python
  16. Открытие, чтение и закрытие файла
  17. Упрощенный вывод данных в Python
  18. Замена переменных в Python
  19. Работа с CSV в Python
  20. Форматирование заголовков в Python
  21. Проверка кортежей.
  22. Применение функции map() с лямбда-функциями
  23. Проблема сравнения словарей
  24. Область видимости переменных
  25. Считывание бинарного файла в Python
  26. Списки в Python: основы
  27. Управление браузером с Selenium
  28. Функциональное программирование в Python
  29. Оптимизация гиперпараметров в Python
  30. Генераторные функции в Python
  31. Преобразование типов данных в set comprehension
  32. Работа с классами данных
  33. None в Python: использование и особенности
  34. Многоточие в Python
  35. Получение списка кортежей из словаря
  36. Умножение строк и списков
  37. Нахождение хеша для бесконечности и NaN в Python
  38. GitHub в Telegram: подписка на уведомления
  39. Управление доступом к модулю
  40. Метод join() для объединения элементов строки
  41. Чтение бинарного файла в Python.
  42. Переворот последовательности
  43. Отправка POST запроса на сервер.
  44. Метод classmethod
  45. Глобальные переменные в Python
  46. Ускорение обработки данных с %autoawait

Marketello читают маркетологи из крутых компаний