我有一个存储数据的类,需要访问外部服务。我如何配置这个类,以便我可以用数据实例化它,同时仍然允许在测试中注入模拟服务的能力?
@Service
@Scope("prototype")
final class Adapter {
@Autowired private AdapterService adapterService;
private final Options s;
@Autowired
Adapter(@NotNull Options options) {
this.options = options;
}
}
@Test
void adapter() {
// How do I inject mock(AdapterService.class)?
Adapter adapter = applicationContext.getBean(Adapter.class, options);
}
我玩过的一些变通方法:
请告诉我这些不是唯一的选择,Spring 为这种常见用例提供支持!