Модульное тестирование приложения с помощью CDI и ServletContextListener
У меня есть веб-приложение CDI, в котором есть ServletContextListener для инициализации нескольких вещей при запуске.
В этом ServletContextListener это (среди прочего) происходит:
@Inject
Config config;
public void contextInitialized(ServletContextEvent event) {
....
config.init(....)
}
Это работает достаточно хорошо, поскольку гарантирует, что инициализация выполняется до того, как будут созданы другие компоненты CDI (например, App, которая также внедряет сам Config)
Однако я не могу понять, как реализовать эту логику для модульного тестирования. С CDI-Unit от jglue я могу сделать это в моем тестовом классе:
@Inject
Config config;
@Inject
App application;
Но когда я запускаю свой тест, я продолжаю получать проблемы, так как @PostConstruct в App нуждается в настройке, чтобы уже быть запущенной. Итак, как я могу вызвать метод Config.init() вовремя?