【发布时间】:2018-11-23 13:05:25
【问题描述】:
为了在项目中实现工厂,我使用了 Spring 的BeanFactory。因此,所需provider的提取如下:
@Override
public T getInstance(String key) {
// ...
return beanFactory.getBean(registry.get(key));
}
因此,我可以按如下方式提取提供者:
amazingProviderFactory.getInstance("some key");
它工作正常。但是对于测试,需要从BeanFactory 中提取一个提供者,并用自己的模拟实现替换它。
下面的方法可以解决问题,不过这只是网上找的一个例子,不太清楚如何正确实现:
Mockito.when(SpringContext.getBean("some key")).thenReturn(mockedProvider);
解决问题的正确方法是什么?
谢谢!
【问题讨论】:
-
您在寻找
@MockBean吗?
标签: java spring spring-boot mocking mockito