Курс 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. Умножение строк и списков
  2. Оператор del в Python
  3. Отображение HTML кода в Python
  4. Создание словарей в Python
  5. Обмен данными с asyncio.Queue
  6. Генерация случайных чисел в Python
  7. Комментарии в Python
  8. Запуск Python из интерпретатора
  9. Объединение списков в Python
  10. Итераторы в Python
  11. Печать календаря в Python
  12. Генераторы в Python
  13. Оператор space-invader
  14. Списки в Python: синтаксис представления
  15. Сравнение строк в Python
  16. Склеивание строк через метод join()
  17. Компиляция регулярных выражений
  18. Создание детектора плагиата
  19. Преобразование типов данных в set comprehension
  20. enumerate() в Python для работы с индексами
  21. Сравнение объектов в Python
  22. Работа с дробями в Python
  23. Преобразование данных в Python
  24. Работа с изображениями PIL
  25. Создание функций с произвольным количеством аргументов
  26. Сравнение def и lambda в Python
  27. Глобальные переменные в Python
  28. Изменение списка срезами
  29. Сравнение def и lambda функций в Python
  30. Отображение графиков в Jupyter с Matplotlib
  31. Получение списка кортежей из словаря
  32. Добавление элемента к кортежу
  33. Модуль future Python
  34. Объединение списков в Python.
  35. Оптимизация сравнения в Python
  36. Вложенные генераторы в Python
  37. Работа с временем в Python
  38. Новшества Flask 2.0
  39. Оптимизация создания строк
  40. Разделение функций на этапы
  41. Бесконечная проверка в Python
  42. Оператор is в Python
  43. Оператор «not» в Python
  44. Список и кортеж в Python
  45. Работа со словарями в Python
  46. Основы слова
  47. Контекстный менеджер в Python

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