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 的内部结构。如果你只对使用该框架感兴趣,而不打算通过自己的自定义监听器或自定义加载器对其进行扩展,可以直接跳到配置(上下文管理、依赖注入、事务管理)、支持类 和 注解支持 部分。