Курс 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. Объединение строк с помощью метода join
  3. Метод join() для объединения строк
  4. Преобразование типов данных в set comprehension
  5. Работа с CSV файлами в Python
  6. Python reversed() vs срез[::-1]
  7. Метод ipow для возведения в степень
  8. Получение размера объекта с sys.getsizeof()
  9. Управление асинхронными задачами с помощью Semaphore
  10. Математические функции в Python
  11. Удаление файлов и папок в Python
  12. Реверс строки в Python
  13. *args и **kwargs в Python
  14. Настройка вывода NumPy
  15. Операции с массивами в NumPy
  16. Проверка подстроки в строке
  17. Разность множеств
  18. Генераторы в Python
  19. Итераторы в Python
  20. Работа с модулем random
  21. Повторение и перенос строки
  22. Использование defaultdict в Python
  23. Библиотека sh: использование команд bash в Python
  24. Работа с аргументами командной строки
  25. Лямбда-функции в Python
  26. Модуль future Python
  27. Функции map, filter, reduce
  28. Переопределение унарных операторов
  29. Игра «Угадывание чисел»
  30. Модуль os: работа с файлами и папками
  31. Поиск элементов BeautifulSoup
  32. Разрешение имен в Python
  33. Объединение итераторов
  34. Работа с Telegram API на Python
  35. Блок else в циклах.
  36. Объединение словарей в Python
  37. Многострочные комментарии в Python
  38. Форматирование заголовков в Python
  39. Установка библиотек в Python
  40. Поиск файлов по шаблону
  41. Проверка на истинность объектов в Python
  42. Роль запятой в Python
  43. Лямбда-функции в Python
  44. Оператор Walrus: правильное использование
  45. Приближение чисел в Python
  46. Удаление элементов по срезу
  47. Обработка исключений

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