上下文管理
每个TestContext
为其负责的测试实例提供上下文管理和缓存支持。测试实例不会自动访问配置的ApplicationContext
。但是,如果一个测试类实现了ApplicationContextAware
接口,那么会向测试实例提供对ApplicationContext
的引用。请注意,AbstractJUnit4SpringContextTests
和AbstractTestNGSpringContextTests
实现了ApplicationContextAware
接口,因此会自动提供对ApplicationContext
的访问权限。
@Autowired ApplicationContext
作为实现
类似地,如果您的测试配置为加载
通过使用 |
使用TestContext框架的测试类不需要扩展任何特定类或实现特定接口来配置它们的应用程序上下文。相反,通过在类级别声明@ContextConfiguration
注解来实现配置。如果您的测试类没有显式声明应用程序上下文资源位置或组件类,则配置的ContextLoader
将确定如何从默认位置或默认配置类加载上下文。除了上下文资源位置和组件类之外,还可以通过应用程序上下文初始化器来配置应用程序上下文。
以下部分解释了如何使用Spring的@ContextConfiguration
注解通过使用XML配置文件、Groovy脚本、组件类(通常是@Configuration
类)或上下文初始化器来配置测试ApplicationContext
。或者,您可以实现和配置自己的自定义SmartContextLoader
以用于高级用例。