Модульное тестирование приложения с помощью 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() вовремя?

0 ответов

Другие вопросы по тегам