Spring TestContext Framework
Spring TestContext Framework(位於 `org.springframework.test.context` 包中)提供了通用的、註解驅動的單元和整合測試支援,並且與所使用的測試框架無關。TestContext framework 也非常重視“約定優於配置”,提供了可以透過基於註解的配置來覆蓋的合理預設值。
除了通用的測試基礎設施外,TestContext framework 還提供了對 JUnit 4、JUnit Jupiter(也稱為 JUnit 5)和 TestNG 的明確支援。對於 JUnit 4 和 TestNG,Spring 提供了 `abstract` 支援類。此外,Spring 還為 JUnit 4 提供了自定義的 JUnit `Runner` 和自定義的 JUnit `Rules`,併為 JUnit Jupiter 提供了自定義的 `Extension`,這些使得你可以編寫所謂的 POJO 測試類。POJO 測試類不需要繼承特定的類層級結構,例如 `abstract` 支援類。
以下部分概述了 TestContext framework 的內部結構。如果你只對使用該框架感興趣,而不打算透過自己的自定義監聽器或自定義載入器對其進行擴充套件,可以直接跳到配置(上下文管理、依賴注入、事務管理)、支援類 和 註解支援 部分。