Курс 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. Удаление дубликатов из списка с помощью dict.fromkeys
  2. Поиск кода
  3. Управление фоновыми задачами в Python
  4. Работа с многоуровневыми словарями в Python
  5. enumerate() в Python для работы с индексами
  6. Создание GUI с Tkinter: Entry
  7. Поиск подстроки в строке
  8. Проблемы с именами переменных
  9. Сортировка HTML по CSS-селектору
  10. Тестирование времени с Freezegun
  11. Сравнение def и lambda в Python
  12. Библиотека funcy: удобные утилиты
  13. Установка и использование emoji
  14. Импорт и использование модулей в Python
  15. HTTP-запросы с библиотекой Requests
  16. Проверка дублей в списке.
  17. Удаление эмодзи с помощью pandas
  18. Работа с CSV файлами в Python
  19. Перемещение и удаление файлов в Python
  20. Конвертация коллекций в Python
  21. Генераторы по генератору
  22. Модуль os в Python: работа с файлами
  23. Разработка игры Pong с turtle
  24. ChainMap избыточные ключи
  25. Получение ID текущего процесса
  26. Установка и использование Python-dateutil
  27. Классы данных в Python
  28. Работа с модулем os в Python
  29. Группировка элементов в словарь
  30. Получение локальных переменных в Python
  31. PUT запрос для обновления данных
  32. Асинхронное выполнение задач в процессах
  33. Асинхронное выполнение задач в Python
  34. Расчет времени выполнения
  35. Подсчет элементов в списке с Counter
  36. Любовь к Python
  37. Частичное совпадение ввода
  38. Работа с JSON в Python
  39. Concrete Paths — метод .with_suffix()
  40. Оболочка Python
  41. Встраивание HTML в Jupyter Notebook
  42. Разделение строки с помощью re.split()
  43. Философия Python

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