spring – junit中的ContextConfiguration继承

我试图模拟一个从redis获取数据的服务.我已经在spring上下文中将bean注入一个新的上下文文件test-context.xml但是我有其他的上下文文件A.xml,B.xml引用了方法中的方法test-context.xml中的beanS.我在enter link description here中读到了这个问题

它创建了一个BaseTest类,但是当我继承该类时,我首先加载子类中的上下文文件而不是首先加载基类的上下文文件,因为子类上下文中的bean依赖于基类上下文.

 @ContextConfiguration(locations = { "/META-INF/spring/testContext.xml" }) 
 public abstract class myBaseTest { 
 @Before
 public void init() {
    // custom initialization code for resources loaded by testContext.xml 
 }

 @After
public void cleanup() {
    // custom cleanup code for resources loaded by testContext.xml
}
}

 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(locations = { "/META-INF/spring/A.xml",
                                 "/META-  INF/spring/B.xml" }) 
 public class childTest extends myBaseTest { ... }

解决方法:

您可以简单地将父上下文添加到子配置中.

 @ContextConfiguration(locations = { "/META-INF/spring/testContext.xml",
                             "/META-INF/spring/A.xml",
                             "/META-INF/spring/B.xml"}) 

如果不覆盖@Before和@After的方法将正常工作.

上一篇:使用Groovy进行Java泛型和重载


下一篇:Impala连接-依赖库SASL 安装细节