弹簧靴:@TestConfiguration在集成测试期间不覆盖Bean
我在一个类中定义了:Bean
@Configuration
@Configuration
public class MyBeanConfig {
@Bean
public String configPath() {
return "../production/environment/path";
}
}
我有一个装饰的类,应该覆盖这个:@TestConfiguration
Bean
@TestConfiguration
public class MyTestConfiguration {
@Bean
@Primary
public String configPath() {
return "/test/environment/path";
}
}
Bean 用于设置外部文件的路径,该文件包含启动期间必须读取的注册码。它用于类:configPath
@Component
@Component
public class MyParsingComponent {
private String CONFIG_PATH;
@Autowired
public void setCONFIG_PATH(String configPath) {
this.CONFIG_PATH = configPath;
}
}
在尝试调试时,我在每个方法以及测试配置类的构造函数中设置了一个断点。的构造函数断点被命中,所以我知道我的测试配置类实例化,但是该类的方法永远不会被命中。相反,正常类的方法被命中,并且 in 总是而不是预期的 。@TestConfiguration
configPath
configPath
@Configuration
@Autowired
String
MyParsingComponent
../production/environment/path
/test/environment/path
不知道为什么会发生这种情况。任何想法将不胜感激。