Я пытаюсь добавить spring-context-indexer
в библиотеки моего проекта. Однако при запуске интеграционного теста я бы не хотел использовать Бин из зависимости (SystemConfiguration
), а переопределить его с помощью @Primary
, чтобы вернуть new MockSystemConfiguration()
. Это не похоже на работу с индексатором контекста пружины.
Вот мой тест
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = CustomTestSpringConfig.class)
class SpringDataConfigurationTest {
@Test
void applicationContextCanStart() {
assertTrue(true);
}
}
И CustomTestSpringconfig
@Configuration
@ComponentScan(basePackageClasses = SystemConfiguration.class)
public class CustomTestSpringConfig {
@Primary
@Bean(name = "SystemConfiguration")
public SystemConfiguration systemConfiguration() {
return new MockSystemConfiguration();
}
}
Реальное SystemConfiguration
определено в другом банке, в котором уже есть spring-component-indexer
.
@Component("SystemConfiguration")
public class SystemConfigurationImpl implements SystemConfiguration {
То, что происходит, - это реальный SystemConfiguration
Бин, используемый вместо аннотированного @Primary
.