如何在Spring上下文中注入模拟?
我想安排一个Spring实例对象作为Mock而不是通常构造的实例来完成集成测试。
被模拟的对象不是被Spring注入成员变量,而是通过查询Spring上下文来访问。 一个例子(供参考):
class Service {
public void doIt() {
Helper helper = new Helper();
helper.doIt();
}
}
class Helper {
public void doIt() {
BeanFactory factory = getBeanFactory(); // A function to get the bean factory
Target target = (Target)factory.getBean("target");
target.doIt();
}
}
class Target {
public void doIt() {
// Something interesting.
}
}
我想模拟Target以验证对Service.doIt()的调用调用Target.doIt()。
Helper的实例是动态的,即Helper不是Spring对象,并且仅在短时间内存在,作为这两个接口之间的链接。
我们使用(大)spring xml文件进行配置,因此最好避免使用多种配置进行测试。
我如何模拟Target以便从Spring Bean工厂检索Mock?
链接地址: http://www.djcxy.com/p/82053.html上一篇: How do I inject a mock into the Spring context?
下一篇: Spring / Mock components that are retrieved by using the context directly