Я не знаю ни одного решения, которое делает то, что вы хотите.Я сильно подозреваю, что причина в том, что dev_appserver делает много вещей при загрузке приложения, включая синтаксический анализ различных файлов yaml, настройку маршрутизации, отключение API (как App Engine, так и Python), ограничивает среду для эмуляции appserver и т. Д.на.Функция app_from_yaml (path_to_yaml) должна делать то, что делает dev_appserver.py.И поскольку dev_appserver.py уже делает это, я думаю, что никто не удосужился добавить еще одну реализацию.
Я вижу два способа решения вашей проблемы.
- Сделайте API-интерфейс blobstore более тестируемым
- запустите ваше приложение с помощью dev_appserver и запустите тесты против него
Первый вариант довольно сложен, потому что для этого потребуется рефакторинг того, как все делается в настоящее время, что может привести к появлению тонких регрессий.Последнее - это то, что мы много делаем для таких больших тестов (которые на самом деле являются интеграционными тестами).Для этого мы используем gaedriver.
В вашем конкретном случае, когда вы хотите проверить blobstore (что мы и делаем), мы запускаем приложение из теста, загружаем большой двоичный объект с использованием определенного URL-адреса и затем нажимаем на другойи проверьте, правильно ли был обработан BLOB-объект.Это не так хорошо, как использование тестового стенда, но это работает, довольно просто и довольно быстро.