junit中的ContextConfiguration继承

ContextConfiguration inheritance in junit

我正在尝试模拟从 redis.I 获取数据的服务,已将 bean 注入到新上下文文件 test-context.xml 的 spring 上下文中,但我还有其他上下文文件A.xml,B.xml指的是test-context.xml中beanS中的方法。我读了enter link description here

中的问题

它创建了一个 BaseTest class 但是当我继承 class 我在子 class 中的上下文文件首先被加载而不是它应该加载 base [=21= 的上下文文件] 首先,子 class 上下文中的 beans 依赖于基础 class 上下文。

 @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 的方法,它们将正常工作。