Курс 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. Библиотека sh: удобные команды терминала
  2. Создание OrderedDict
  3. Функция zip() — объединение последовательностей
  4. Принципы программирования
  5. Хеши в Python
  6. Работа с буфером обмена на Python
  7. Создание новых функций с помощью functools.partial
  8. Декораторы в Python
  9. Создание и обучение модели с Keras
  10. Операции с датами в Python
  11. Многоточие в Python
  12. Работа со временем в Python
  13. ChainMap.new_child() — добавление нового словаря
  14. Concrete Paths — метод .with_suffix()
  15. Объединение списков с использованием itertools.chain
  16. Переопределение метода xor в Python
  17. Работа с CSV файлами
  18. Принципы программирования
  19. Разделение строки с помощью re.split()
  20. Объединение словарей в Python
  21. Декораторы в Python
  22. Операторы объединения в Python 3.9
  23. Python OrderedDict и fromkeys() — работа с словарями
  24. Копирование объектов в Python
  25. Изменение объектов в Python
  26. Генераторы списков
  27. Удаление дубликатов из списка с помощью dict.fromkeys
  28. Работа с модулем random
  29. Python reversed() vs срез[::-1]
  30. Прокачанный трейсинг ошибок
  31. Работа с deque из collections
  32. Переворот строки с помощью срезов
  33. PrettyTable: создание таблицы
  34. Явный импорт переменных
  35. Создание словарей с defaultdict
  36. Декораторы в Python
  37. Отладка кода
  38. Измерение времени выполнения кода
  39. Повторение элементов в Python
  40. Метаклассы в Python
  41. Операторы += в Python
  42. Экспорт внешнего файла с помощью writefile
  43. Работа со стеком в Python
  44. Defaultdict в Python
  45. Обучение модели с указанием эпох
  46. Декораторы в Python

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