#spring #unit-testing #spring-boot
#spring #модульное тестирование #весенняя загрузка
Вопрос:
У меня есть SpringBootTest, где мне нужно инициализировать некоторые вещи перед обработкой классов Spring @Configuration. Мои источники данных загружаются из JNDI, поэтому мне нужно инициализировать контекст JNDI, прежде чем он обработает класс @Configuration, содержащий конфигурацию моего источника данных. Как я могу это сделать? Я попытался использовать метод setUp в моем модульном тестировании, но это не сработало.
Комментарии:
1. Можете ли вы поделиться своим кодом? Используете ли вы spring-boot для загрузки вашего контекста jndi? Также, какая версия spring-boot 1.4 поставляется с некоторыми приятными функциями тестирования.
2. JNDI в модульном тестировании звучит неправильно. Как насчет использования локальной базы данных для ваших тестов? Как сказал Николас, Spring Boot 1.4 может даже переопределить источник данных для вас, если вы хотите. Можете ли вы предоставить более подробную информацию?
Ответ №1:
В итоге я сделал что-то похожее на то, что опубликовано здесь: http://en.newinstance.it/2009/03/27/mocking-jndi /
Да, немного неортодоксально «издеваться» над JNDI, но я хотел настоящий модульный тест, в котором, если JNDI был доступен, а источники данных находились под JNDI, мой код мог извлекать источники данных и использовать их соответствующим образом.