Курс 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. Работа с PosixPath() в Python
  3. Запрос пароля с помощью getpass
  4. Создание уникального проекта
  5. Список переменных с %who
  6. Работа с пользовательским вводом
  7. Создание уникального множества
  8. Форматирование строк в Python
  9. Управление памятью в Python
  10. Переопределение метода __floordiv__
  11. Pillow: работа с изображениями
  12. Нан-рефлексивность в Python
  13. Возврат нескольких значений
  14. Переменные в Python
  15. Работа с collections в Python.
  16. Комментарии в Python
  17. Очистка входных данных
  18. Обработка исключений в Python
  19. Подписка на каналы разработчиков
  20. Оператор in для Python
  21. Создание класса в Python
  22. Сортировка с помощью key
  23. Подсчет элементов с помощью Counter
  24. Установка и использование emoji
  25. Генерация UUID в Python
  26. Оператор «is not» в Python
  27. Копирование словарей и списков в Python
  28. Значения по умолчанию в Python
  29. Сравнение def и lambda в Python
  30. Принцип одной функции
  31. Взаимодействие с внешними процессами в Python
  32. Генерация QR-кодов с Python
  33. Удаление ключа из словаря
  34. Перевод двоичного кода в целое число
  35. Именованные срезы в Python
  36. Обработка исключений в Python
  37. Профилирование данных с Pandas.
  38. Установка и использование модуля «howdoi»
  39. Метод join() для объединения элементов строки
  40. Нахождение отличий в списках
  41. Открытие и запись файлов
  42. Конвертация изображений в PDF
  43. Создание словаря через dict comprehension
  44. Функция reduce() из модуля functools
  45. Удаление элемента по индексу
  46. Генераторы списков

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