Я хотел бы написать модульный (компонентный) тест для ресурса REST моего веб-приложения. Этот тест должен быть нацелен на открытый интерфейс REST и проверять его поведение, отправляя запросы и проверяя ответы.
Веб-приложение настраивается без использования web.xml
и applicationContext.xml
с использованием Spring WebApplicationInitializer
. Это отлично работает, когда я просто запускаю приложение на своем сервере (Tomcat).
При запуске моего теста Arquillian архив ShrinkWrap развертывается на встроенном сервере Tomcat. Поскольку встроенный сервер работает с путем к классам моего веб-приложения, он также находит мой класс WebApplicationInitializer
. Это проблематично, так как он загружает множество зависимостей и должен быть активирован только для теста.
Как я могу деактивировать свой WebApplicationInitializer
(и предоставить альтернативную реализацию) в тесте?
При использовании файлов конфигурации XML это соответствует сокрытию реальных файлов конфигурации и использованию определенной (пустой?) конфигурации, которая используется в тесте.