Интеграционные тесты для Google App Engine (Java)

Я пытаюсь разработать эффективные интеграционные тесты для моего приложения GAE / j. Я знаком сhttps://developers.google.com/appengine/docs/java/tools/localunittesting - эти инструменты отлично подходят для небольших юнит-тестов. Сейчас я заинтересован в разработке интеграционных тестов, которые проверяют реальные веб-запросы. Например, я хотел бы проверить, что web.xml отображает сервлеты и фильтры на ожидаемые URL-адреса, и проверить, генерируют ли мои JSP то, что я ожидаю.

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

Мне удалось использовать DevAppServerFactory для запуска сервера разработки в той же JVM. Однако, похоже, что генерируемый DevAppServer использует отдельный загрузчик классов из основной JVM. Это делает тестирование намного более сложным - я не могу использовать ни один из локальных классов для тестирования юнитов Local * TestConfig для управления поведением этого сервера. Точно так же я не могу "бросить свой собственный" крючки для изменения поведения с помощью, например, статика, так как статика, которую я могу изменить в тестовом жгуте, не та же статика, на которую смотрит DevAppServer. Это усложняет пропуск функций, не являющихся центральными в текущем тесте (например, требующих входа в систему), внедрения сбоев, внедрения макетов и т. Д. Это действительно ограничивает то, насколько полно и эффективно я могу тестировать свой код.

Я обнаружил в Интернете реальную нехватку документации для тестирования интеграции с App Engine. Я уверен, что кто-то делал это раньше ... Есть ли какие-либо советы или ресурсы, которыми вы можете поделиться?

Ответы на вопрос(2)

Ваш ответ на вопрос