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 的方法,它们将正常工作。
我正在尝试模拟从 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 的方法,它们将正常工作。