首先,我找到了解决问题的方法,但我不明白为什么会这样做。
我有使用bean的Spring配置:
RecyclerView
以上代码中最重要的一行是:@Configuration
public class SomeContext {
@Profile("default")
@Bean(name = Some.BEAN_NAME)
public Some some() {
return new SomeImpl();
}
}
没有此行,我的代码无效。
此配置由其他Spring配置导入。
我尝试在其他地方创建测试上下文
@Profile("default")
没有@Configuration
public static class SomeTestContext extends SomeBaseTestContext {
@Bean(name = Some.BEAN_NAME)
public Some some() {
return mock(Some.class);
}
}
调试器甚至不输入测试bean。它创建了一个普通的生产 bean。
所以我的问题是:为什么添加@Profile("default")
解决问题?还有其他方法可以做同样的事情吗?