2012-03-18 2 views
2

До сих пор единственным способом, которым я смог сохранить index.yaml, обновляемый при изменении кода, является либо попадание URL-адресов через браузер, либо с помощью TransparentProxy, и приложение выполняется через dev_appserver.с использованием модульных тестов для обновления index.yaml

Это отстой.

Есть ли способ загружать среду appengine в тестовом runer-модуле так, чтобы какой-либо процесс был использован для обновления index.yaml, который может выполняться без возникновения накладных расходов одного потока dev_appserver.

Разница значительна. Мой testuite (80% охват) работает через 2 минуты, но не обновляет index.yaml, если я запускаю тот же пакет с помощью TransparentProxy для пересылки запроса на порт 8080, index.yaml обновляется, но занимает около 4 часов. Опять же, это отстой.

ответ

2

Вы можете использовать мой плагин Nose для этого, называемый nose-gae-index. Он использует внутренний класс IndexYamlUpdater из SDK, поэтому он определенно лучше, чем запросы проксирования.

Несмотря на это улучшение, определенно нет необходимости постоянно его активировать. Я использую его перед развертыванием и проверяю изменения конфигурации индекса, вызванные новыми коммитами.

Помните, что не используйте запросы, требующие индексов в самих тестах, или они также будут добавлены в файл конфигурации!

+0

Joachim. Вы спасатель жизни, это была боль в моей задней части в течение нескольких месяцев. Я на самом деле перешел на py.test, поэтому я просто взял мясо вашего плагина и сделал его частью моей установки/срыва. Большое вам спасибо, что я мог бы проголосовать за вас больше. –

Смежные вопросы