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