本节(本章其余大部分内容)涉及 Spring 应用程序的集成测试。它包括以下主题:

    能够执行一些集成测试而不需要部署到你的应用服务器或连接到其他企业基础设施是很重要的。这样做可以让你测试一些东西,例如:

    • 正确连接你的 Spring IoC 容器上下文。
    • 使用 JDBC 或 ORM 工具的数据访问。这可以包括诸如 SQL 语句的正确性、Hibernate 查询、JPA 实体映射等等。

    Spring 框架在 spring-test 模块中为集成测试提供了一流的支持。实际 JAR 文件的名称可能包括发布版本,也可能是长的org.springframework.test形式,这取决于你从哪里得到它(见依赖管理一节的解释,官方文档这个地址失效了)。这个库包括 org.springframework.test包,它包含了与 Spring 容器进行集成测试的宝贵类。这种测试不依赖于应用服务器或其他部署环境。这种测试的运行速度比单元测试慢,但比同等的 Selenium 测试或依赖部署到应用服务器的远程测试快得多。

    单元和集成测试支持是以注解驱动的 Spring TestContext 框架的形式提供的。TestContext 框架与实际使用的测试框架无关,它允许在各种环境下进行测试,包括 JUnit、TestNG 和其他。