我有:像
这样的bean<bean id="abstractBean" class="com.package.MyBean" abstract="true"/>
<bean id="heirBean" parent="abstractBean">
<property name="someProperty" ref="anotherBean">
</bean>
问题:如何模仿heirBean
?或者换句话说,如何模仿abstractBean
?
========================问题的可选部分================ ==============
我如何尝试[例外]:
<bean id="abstractBean" class="MockFactoryBean">
<property name="type" value="com.package.MyBean"/>
</bean>
MockFactoryBean.java
public class MockFactoryBean<T> implements FactoryBean<T> {
private Class<T> type;
public void setType(Class<T> type) {
this.type = type;
}
@Override
public T getObject() throws Exception {
return Mockito.mock(type);
}
@Override
public Class<T> getObjectType() {
return type;
}
@Override
public boolean isSingleton() {
return true;
}
}
问题:我无法设置模拟字段。
答案 0 :(得分:1)
这个框架允许您为spring xml文件添加模拟功能 - https://bitbucket.org/kubek2k/springockito/wiki/Home
答案 1 :(得分:1)
通常,你不要模拟父bean,你要模拟你想要模拟的每个bean。
我理解你的问题:
虽然该理论通常不鼓励重构测试,但测试的特定需求允许您查看重构代码的方法。
我建议:
因此,使用替换继承,这可以让您更灵活。
答案 2 :(得分:0)
我会使用spring的概要;从Spring 3.2.X开始,Spring中有“profile”概念,您可以使用它来模拟您的bean以获得测试范围