Курс 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. Работа с прокси в Python
  3. Python Calendar Usage
  4. Множества и frozenset
  5. Поиск подстроки в строке
  6. Просмотр внешних файлов в %pycat
  7. Хранение данных
  8. Получение имени функции с помощью inspect
  9. Оператор морж в Python 3.8
  10. Работа с файлами в Python
  11. Python enumerate() функции
  12. Списковое включение в Python
  13. Улучшенные подсказки для импорта в Python 3.12
  14. Управление доступом к модулю
  15. Импорт модулей в Python 3.12
  16. Класс Counter() для подсчета элементов
  17. Удаление файлов и папок в Python
  18. Использование *args
  19. Работа с пользовательским вводом
  20. Функция reduce() в Python
  21. Метод get() в Python
  22. Форматирование данных с pprint
  23. Создание виртуальной среды
  24. Загрузка постов Instagram
  25. Генератор данных в Keras
  26. Форматирование вывода с F-строками
  27. Передача параметров в Python
  28. Автоматизация действий с Pyautogui
  29. Именованные срезы в Python
  30. Отправка поздравлений по дню рождения
  31. Оператор in для проверки наличия элемента
  32. Изменение логики работы с временем
  33. Проверка индексов коллекции
  34. Извлечение статей с newspaper3k
  35. Функции min(), max(), sum()
  36. Распаковка элементов последовательности
  37. Настройка Cron
  38. Нахождение самого длинного слова в списке с помощью max
  39. F-строки в Python 3.8
  40. Создание новых функций с помощью functools.partial
  41. Многострочные комментарии в Python
  42. Сортировка данных с лямбда-функциями
  43. Проверка типа объекта в Python
  44. Итераторы в Python
  45. Форматирование чисел в Python

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