上下文管理
每個 TestContext
為其負責的測試例項提供上下文管理和快取支援。測試例項不會自動獲得對配置的 ApplicationContext
的訪問許可權。但是,如果測試類實現了 ApplicationContextAware
介面,則會將 ApplicationContext
的引用提供給測試例項。請注意,AbstractJUnit4SpringContextTests
和 AbstractTestNGSpringContextTests
實現了 ApplicationContextAware
,因此會自動提供對 ApplicationContext
的訪問許可權。
@Autowired ApplicationContext
作為實現
同樣,如果您的測試配置為載入
使用 |
使用 TestContext 框架的測試類不需要擴充套件任何特定類或實現特定介面來配置其應用上下文。相反,配置是透過在類級別宣告 @ContextConfiguration
註解來實現的。如果您的測試類沒有顯式宣告應用上下文資源位置或元件類,則配置的 ContextLoader
會決定如何從預設位置或預設配置類載入上下文。除了上下文資源位置和元件類之外,應用上下文還可以透過應用上下文初始化器進行配置。
以下部分解釋瞭如何使用 Spring 的 @ContextConfiguration
註解,透過 XML 配置檔案、Groovy 指令碼、元件類(通常是 @Configuration
類)或上下文初始化器來配置測試 ApplicationContext
。或者,對於高階用例,您可以實現和配置自己的自定義 SmartContextLoader
。