Курс 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. Работа с Colorama
  2. Преобразование числа в восьмеричную строку
  3. Работа с часовыми поясами в Python.
  4. Многопоточность в Python
  5. Эффективная конкатенация строк в Python
  6. Оптимизация памяти с slots
  7. Присоединение элементов коллекции
  8. Получение текущей даты и времени с помощью datetime
  9. Делегирование в Python
  10. Вложенные генераторы в Python
  11. Официальный канал Python в Telegram
  12. Комплексные числа в Python
  13. Метод enumerate() в Python
  14. Преобразование документов в PDF с помощью Spire.Office
  15. Улучшенные подсказки для импорта в Python 3.12
  16. Дизассемблирование Python кода
  17. Объединение словарей в Python
  18. Кортеж в Python: создание и использование
  19. Операторы объединения в Python 3.9
  20. Логирование в Python
  21. Классы данных в Python
  22. Работа с итераторами через срезы
  23. Работа с timedelta
  24. Срез списка в Python
  25. Сравнение def и lambda функций в Python
  26. Работа с CSV в Python
  27. Комментарии в Python
  28. Python Метод sleep() из time
  29. Работа с массивами в Numpy
  30. Метод __call__ в Python
  31. Цикл for в Python
  32. Работа с набором данных CIFAR10 в PyTorch
  33. Создание списков в Python
  34. Хранение данных с помощью dataclasses
  35. Метод setdefault() в Python
  36. Метод join() для объединения элементов
  37. Генераторы в Python
  38. Обновление и получение данных в SQLite
  39. Генератор бросков кубиков
  40. Идентификатор объекта в Python
  41. Проверка версии Python
  42. Преобразование многоуровневого словаря
  43. Установка Python — Простое руководство
  44. Блок else в циклах Python

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