|
对于最新稳定版本,请使用Spring Framework 7.0.1! |
@ContextConfiguration
@ContextConfiguration定义用于确定如何
加载并配置应用上下文用于积分测试。具体说来@ContextConfiguration声明应用上下文资源地点或者
元件类用来加载上下文。
资源位置通常是XML配置文件或位于
类路径,而组件类通常为@Configuration类。然而
资源位置也可以指文件系统中的文件和脚本,以及组件
类可以是@Component类@Service课程,等等。详情请参见组件类别。
以下示例展示了一个@ContextConfiguration指代XML的注释
文件:
-
Java
-
Kotlin
@ContextConfiguration("/test-config.xml") (1)
class XmlApplicationContextTests {
// class body...
}
| 1 | 指的是XML文件。 |
@ContextConfiguration("/test-config.xml") (1)
class XmlApplicationContextTests {
// class body...
}
| 1 | 指的是XML文件。 |
以下示例展示了一个@ContextConfiguration指涉类的注释:
-
Java
-
Kotlin
@ContextConfiguration(classes = TestConfig.class) (1)
class ConfigClassApplicationContextTests {
// class body...
}
| 1 | 指的是一门课。 |
@ContextConfiguration(classes = [TestConfig::class]) (1)
class ConfigClassApplicationContextTests {
// class body...
}
| 1 | 指的是一门课。 |
作为声明资源位置或组件类的替代方案或补充,
你可以使用@ContextConfiguration宣布应用上下文初始化器类。
以下示例展示了这样的情况:
-
Java
-
Kotlin
@ContextConfiguration(initializers = CustomContextInitializer.class) (1)
class ContextInitializerTests {
// class body...
}
| 1 | 声明初始化器类。 |
@ContextConfiguration(initializers = [CustomContextInitializer::class]) (1)
class ContextInitializerTests {
// class body...
}
| 1 | 声明初始化器类。 |
你可以选择性地使用@ContextConfiguration声明上下文加载器作为策略
井。不过请注意,通常你不需要显式配置加载器,
因为默认加载程序支持初始化器以及任一资源地点或
元件类.
以下示例同时使用了位置和加载器:
-
Java
-
Kotlin
@ContextConfiguration(locations = "/test-context.xml", loader = CustomContextLoader.class) (1)
class CustomLoaderXmlApplicationContextTests {
// class body...
}
| 1 | 同时配置位置和自定义加载器。 |
@ContextConfiguration("/test-context.xml", loader = CustomContextLoader::class) (1)
class CustomLoaderXmlApplicationContextTests {
// class body...
}
| 1 | 同时配置位置和自定义加载器。 |
@ContextConfiguration提供继承资源位置的支持,或
配置类以及由超类声明的上下文初始化器
或者封闭类。 |
参见情境管理,@Nested测试类配置,以及@ContextConfigurationJavadocs提供更多细节。