Spring Boot: @TestConfiguration не переопределяет компонент во время интеграционного тестаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Boot: @TestConfiguration не переопределяет компонент во время интеграционного теста

Сообщение Anonymous »

У меня есть Bean, определенный в классе, украшенном @Configuration:

Код: Выделить всё

@Configuration
public class MyBeanConfig {
@Bean
public String configPath() {
return "../production/environment/path";
}
}
У меня есть класс, украшенный @TestConfiguration, который должен переопределить этот компонент:

Код: Выделить всё

@TestConfiguration
public class MyTestConfiguration {
@Bean
@Primary
public String configPath() {
return "/test/environment/path";
}
}
Компонент configPath используется для установки пути к внешнему файлу, содержащему регистрационный код, который необходимо прочитать во время запуска. Он используется в классе @Component:

Код: Выделить всё

@Component
public class MyParsingComponent {
private String CONFIG_PATH;

@Autowired
public void setCONFIG_PATH(String configPath) {
this.CONFIG_PATH = configPath;
}
}
При отладке я установил точку останова внутри каждого метода, а также конструктор класса тестовой конфигурации. Точка останова конструктора @TestConfiguration достигнута, поэтому я знаю, что создается экземпляр моего класса тестовой конфигурации, однако метод configPath этого класса никогда не срабатывает. Вместо этого вызывается метод configPath обычного класса @Configuration, а строка @Autowired в MyParsingComponent всегда равна ../production/environment/path , а не ожидаемый /test/environment/path.
Не знаю, почему это происходит. Будем очень признательны за любые мысли.

Подробнее здесь: https://stackoverflow.com/questions/506 ... ation-test
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»