我正在尝试模拟从redis获取数据的服务。我已在新的上下文文件test-context.xml中在spring上下文中注入了bean但是我有其他上下文文件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 { ... }
答案 0 :(得分:1)
您可以简单地将父上下文添加到子配置中。
@ContextConfiguration(locations = { "/META-INF/spring/testContext.xml",
"/META-INF/spring/A.xml",
"/META-INF/spring/B.xml"})
如果您不覆盖@Before和@After的方法将正常工作。