因为测试需要,我门需要创建类Class_A的mock类Class_Mock_A,现在的做法是,复制整个配置文件,将Class_A的bean定义中的class指向Class_Mock_A,其余不变,在运行时只导入测试用的配置文件,而不是正常运行时的配置文件,但是这样导致产生大量的测试配置文件,当某个类的包名或者类名需要改变的时候,配置文件的相应改动就需要手动修改,这样很不方便,还容易出错。
不知道有没有办法在测试用的配置文件中只加上需要修改的类的bean,然后运行时同时导入两个配置文件,测试用配置文件中的bean覆盖掉另一个文件中同名的bean。
正常运行时使用的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean
id="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.FindUserInfo"
class="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.MockFindUserInfo">
</bean>
其他bean定义省略。。。
</beans>
测试用的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean
id="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.FindUserInfo"
class="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.FindUserInfo">
</bean>
其他bean定义省略。。。
</beans>
不知道有没有办法在测试用的配置文件中只加上需要修改的类的bean,然后运行时同时导入两个配置文件,测试用配置文件中的bean覆盖掉另一个文件中同名的bean。
正常运行时使用的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean
id="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.FindUserInfo"
class="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.MockFindUserInfo">
</bean>
其他bean定义省略。。。
</beans>
测试用的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean
id="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.FindUserInfo"
class="com.ssc.ehorizon.alertconfig.workflow.maintainoptions.configureusers.FindUserInfo">
</bean>
其他bean定义省略。。。
</beans>