Курс 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: nonlocal
  2. Игра «Камень, ножницы, бумага» — Python
  3. Возврат нескольких значений
  4. Однострочники Python
  5. Создание вложенных циклов for
  6. Работа с комплексными числами
  7. Проверка типов с использованием isinstance
  8. Бесконечная проверка в Python
  9. Иерархия классов в Python
  10. Оптимизация гиперпараметров в Python
  11. Оптимизация интернирования строк
  12. Хранение данных
  13. Метод rpow в Python
  14. Переопределение унарных операторов
  15. Генерация случайных чисел Python
  16. Функция divmod() в Python
  17. Инверсия списка и строки в Python
  18. Преобразование данных в Python
  19. Отправка POST-запроса в REST API
  20. Переворот строки
  21. Использование метода lower()
  22. Путь к интерпретатору Python
  23. Основы работы с базами данных в Python
  24. Определение размера папок в Python
  25. Обновление и получение данных в SQLite
  26. Модуль itertools: эффективная работа с итераторами
  27. Определение имен функций
  28. Вычисление времени выполнения
  29. Улучшение читаемости кода в Python
  30. Работа с Telegram API на Python
  31. Именование переменных в Python
  32. Объединение строк с помощью метода join
  33. Тестирование с unittest
  34. Замыкания в Python
  35. Использование эмодзи в Python
  36. Генерация случайных чисел в Python
  37. Генераторы в Python
  38. Работа с файлами и директориями в Python.
  39. Создание объекта timedelta
  40. Работа с CSV файлами в Python
  41. PrettyTable: создание таблицы
  42. Создание итератора
  43. Работа с модулем Calendar

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