Я пишу сложное веб-приложение в Django. Есть много компонентов. В частности, два сервера Django (позволяет называть это Server
) и сервером приложений C++ (позволяет называть это Calculator
), который обслуживает вычисления до Server
. Когда Server
хочет выполнить расчет, он отправляет команду в сокет, на котором прослушивает Calculator
. Как это:Django WebServer во время тестирования
{
"command": "doCalculations"
}
Теперь Calculator
может потребоваться различные части информации в разное время, чтобы сделать свою работу. Поэтому вместо передачи данных непосредственно в Calaculator
в команде, необходимо до Calculator
запросить то, что ему нужно. Она делает это путем вызова RESTful API на Server
:
https://Server/getStuff?with=arguments
Calculator
затем использует данные из этого вызова, чтобы сделать свои расчеты, и реагировать на Server
с ответом.
Проблемы начинаются, когда я пытаюсь выполнить модульное тестирование с использованием Djantos unittest framework. Я установил кучу структур данных в своем тесте, но когда Server
звонит Calculator
, он должен иметь эти данные в REST API, так что Calculator
может получить то, что ему нужно. Проблема в том, что тестовая среда Django не разворачивает веб-сервер, и если я делаю это вручную, он считывает данные из реальной базы данных, а не в тестовый файл.
Кто-нибудь знает, как запустить единичный тест с данными, доступными для внешних людей/процессов?
Я надеюсь, что имеет смысл ...
спасибо большое за ответ! Я не знал о светильниках. Я сейчас беру свалку БД, когда мы говорим. Погрузите приборы, чтобы мой сервер приложений («Калькулятор», как я его называл), чтобы поговорить с django во время теста и просмотреть эти данные через REST API? – DrBards
Да, сервер Django сможет использовать те же данные во время теста, которые у вас есть в вашем db сейчас. – Kedar