Я создаю простое веб-приложение в tornado.web, используя mongodb в качестве бэкэнд. 90% серверной кодовой базы находится в наборе RequestHandlers, а 90% объектов данных - json. В результате основной пример использования для обработчиков тестов:модульное тестирование в торнадо
"Given Request Y and DB in state X,
verify that handler method Z returns json object J"
Как настроить такой тест?
Я нашел несколько сообщений в блоге и темы обсуждения по этой теме, но в основном они сосредоточены на настройке асинхронного. Я ничего не могу найти при настройке правильного типа состояния БД или аргументов запроса GET/POST.
- http://emptysquare.net/blog/tornado-unittesting-eventually-correct/
- http://www.tornadoweb.org/documentation/testing.html
- https://groups.google.com/group/python-tornado/browse_thread/thread/867cfb2665ea10a9/319555e619fe6c5c
Давайте начнем щедрость. Меня тоже интересует этот вопрос. –
Я спросил у некоторых разработчиков торнадо этот вопрос в автономном режиме, и ответ, который они мне дали, это «Это очень сложно». – Abe
Лучшим ответом может быть «использование толстых моделей и тощих контроллеров». Контроллерам сложно провести единичный тест, но если логика проверки и манипулирования объектами живет в моделях, мы все равно можем ее протестировать. – Abe