Курс 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. Concrete Paths в Python
  3. Python: динамическая типизация и проверка типов
  4. Анализ текста на русском языке с помощью Pymystem3
  5. Работа со словарями
  6. Автоматизация действий с Pyautogui
  7. Распаковка элементов последовательности
  8. Условное добавление элементов в список
  9. Передача словаря через **kwargs
  10. Подписка на Kaspersky Team
  11. Сортировка с помощью key
  12. Переменная с нижним подчеркиванием
  13. Работа с Path в Python
  14. Освобождение памяти в Python
  15. Упрощенный вывод данных в Python
  16. Цикл for в Python
  17. Работа с изменяемыми списками
  18. Python union() функция — объединение множеств
  19. Выключение компьютера с помощью Python
  20. Работа с SQLite в Python
  21. Python Translator: создание локальных переводчиков
  22. split() без разделителя
  23. Работа с argparse
  24. Преобразование списков в словарь
  25. Конкатенация строк в Python
  26. Метод count() для списка
  27. Генерация случайных данных в NumPy
  28. Python defaultdict добавление ключа
  29. Удаление ссылок в Python
  30. Отношения подклассов в Python
  31. Класс Counter() для подсчета элементов
  32. Разделение строки с регулярными выражениями
  33. Разделение строки на пары ключ-значение.
  34. Генерация QR-кодов с библиотекой qrcode
  35. Вычисление логарифмов в Python
  36. Отрицательные индексы списков
  37. Работа с эмодзи в Python
  38. Декораторы с аргументами в Python
  39. Псевдонимы в Python
  40. Логический оператор «and» в Python
  41. Получение текущей даты и времени с помощью datetime
  42. Проверка элемента в множестве.
  43. Установка Python — Простое руководство
  44. Метод join() для объединения элементов в строку.
  45. Хешируемые ключи в Python
  46. Создание новых функций с помощью functools.partial
  47. Подсказки типов в Python

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