|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
上下文管理
每个 TestContext 为其所负责的测试实例提供上下文管理和缓存支持。测试实例不会自动获得对已配置的 ApplicationContext 的访问权限。然而,如果测试类实现了 ApplicationContextAware 接口,则会向该测试实例提供一个 ApplicationContext 的引用。请注意,AbstractJUnit4SpringContextTests 和 AbstractTestNGSpringContextTests 已经实现了 ApplicationContextAware 接口,因此会自动提供对 ApplicationContext 的访问。
|
@Autowired ApplicationContext
作为实现
同样地,如果你的测试配置为加载一个
使用 |
使用 TestContext 框架的测试类无需继承特定类或实现特定接口来配置其应用上下文。相反,配置是通过在类级别声明 @ContextConfiguration 注解来实现的。如果你的测试类没有显式声明应用上下文资源位置或组件类,则所配置的 ContextLoader 将决定如何从默认位置或默认配置类加载上下文。除了上下文资源位置和组件类之外,还可以通过应用上下文初始化器(Application Context Initializers)来配置应用上下文。
以下各节说明如何使用 Spring 的 @ContextConfiguration 注解,通过 XML 配置文件、Groovy 脚本、组件类(通常为 ApplicationContext 类)或上下文初始化器来配置测试用的 @Configuration。
此外,对于高级用例,您也可以实现并配置自己的自定义 SmartContextLoader。