Dummy API для теста Django - PullRequest
       8

Dummy API для теста Django

0 голосов
/ 31 августа 2018

У меня есть приложение для бронирования, которое может обрабатывать как локальные, так и удаленные заказы API. Наша логика - для (например) ценообразования и доступности - идет двумя совершенно разными путями. Очевидно, нам нужно проверить оба.

Но запуск регулярных тестов с удаленным API медленен. Предоставленная тестовая среда управляет ответом в течение 2-17 секунд . Невозможно использовать это в моих тестах pre_commit. Даже если они ускорили это, оно никогда не будет быстрым и всегда будет требовать соединения для прохождения.

Но мне все еще нужно проверить нашу внутреннюю логику для бронирований API.

Есть ли какой-нибудь способ, с помощью которого я могу запустить небольшой веб-сервер (совершенно отдельный от веб-сайта Django), который служит эталонной копией их API. Затем я могу подключить это к моделям, с которыми мы имеем дело, и запросить их локально, на скорости.

Какой лучший способ справиться с этим?

Опять же, я должен подчеркнуть, что этот ссылочный API не должен быть частью реального веб-сайта. Если не существует способа добавления представлений, которые применяются только во время тестирования. Я ищу чистые решения. Вызовы API довольно просты. Я не ищу здесь подтверждения или чего-то подобного, только то, что заказы, сделанные на основе API, имеют правильную внутреннюю цену, решают проблемы доступности и т. Д.

1 Ответ

0 голосов
/ 31 августа 2018

для вашего тестового набора вы можете макетировать функции вызова API.

Вы можете увидеть больше здесь:

https://williambert.online/2011/07/how-to-unit-testing-in-django-with-mocking-and-patching/

...