Курс 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. Управление асинхронными задачами на Python.
  3. Настройка вывода в Numpy
  4. Работа со строками в Python
  5. Перемешивание списка с shuffle()
  6. Построение графиков в Matplotlib
  7. Вычисление разности множеств в Python
  8. Генераторы в Python
  9. Измерение времени выполнения кода
  10. Создание словаря через dict comprehension
  11. Python UserString — создание подклассов строк
  12. Хранение переменных в словаре.
  13. Добавление элементов в список
  14. Генераторы в Python
  15. Создание задания в Cron
  16. Переворот строки с использованием цикла
  17. Работа с пакетами
  18. Функции в одну строку
  19. Список переменных с %who
  20. Функция zip() для объединения списков
  21. Различия символов в Python
  22. Получение значений из словарей
  23. Оформление кода на Python
  24. Работа с getopt
  25. Создание новых функций через partial
  26. Создание словарей с defaultdict
  27. Оптимизация памяти с slots
  28. Python Ellipsis использование
  29. Чтение и запись TOML-конфигов
  30. Символ подчеркивания в Python
  31. Функции высшего порядка в Python
  32. Обмен переменными в Jupyter
  33. Запрос пароля с помощью getpass
  34. Генератор бросков кубиков
  35. Оператор zip в Python
  36. Введение в PyTorch
  37. Нарезка списков в Python
  38. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  39. Удаление пробелов методом translate()
  40. Извлечение новостей с newspaper3k
  41. Переопределение метода xor в Python
  42. Преобразование списков в словарь
  43. Операции с датами в Python
  44. Округление дробей в Python
  45. Функция enumerate в Python
  46. Объединение словарей в Python
  47. Распаковка элементов массива
  48. Применение функции к каждому элементу списка

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