在Spring中,ContextConfiguration(...)是否继承其父级@ContextConfiguration?

9
假设我有一个父测试类如下所示:
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { MyCustomTestConfig.class })
public class MyParentTestclass {

接下来我有一个子类,在这个子类中,我需要添加Spring 3.2.3名称注解属性

@ContextConfiguration(name=MyName)
public class MyChildTestClass extends MyParentTestClass {

我仍然希望从父类中获取所有的上下文配置 - 但不确定它是否会传递下来。

我的问题是: 在Spring中,@ContextConfiguration(...)是否从其父级继承?

1个回答

8
@ContextConfiguration支持继承。它有一个名为inheritLocations的属性,默认值为true,指示是否应该继承来自测试超类的资源位置或注释类。如果inheritLocations设置为false,则被注释类的资源位置或注释类将替换超类定义的任何资源位置或注释类。
在使用注释类的下面这个例子中,将按顺序从BaseConfig和ExtendedConfig配置类加载ExtendedTest的ApplicationContext。因此,在ExtendedConfig中定义的bean可能会覆盖在BaseConfig中定义的bean。
 @ContextConfiguration(classes=BaseConfig.class)
 public class BaseTest {
     // ...
 }

 @ContextConfiguration(classes=ExtendedConfig.class)
 public class ExtendedTest extends BaseTest {
     // ...
 }

请查看 org.springframework.test.context.ContextHierarchy 中的文档。 - phxism

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接