# 2.单元测试

与传统的Java EE开发相比，依赖注入应该使你的代码对容器的依赖性降低。构成应用程序的POJO应该在JUnit或TestNG测试中可测试，对象使用new运算符实例化，不使用Spring或任何其他容器。你可以使用模拟对象（与其他有价值的测试技术结合使用）来单独测试代码。如果你遵循Spring的体系结构建议，那么代码库的干净分层和组件化便于单元测试。例如，你可以通过存根或模拟DAO或存储库接口来测试服务层对象，而无需在运行单元测试时访问持久数据。

真正的单元测试通常运行得非常快，因为没有要设置的运行时基础结构。强调真正的单元测试作为开发方法的一部分可以提高你的工作效率。你可能不需要测试章节的这一部分来帮助你为基于IoC的应用程序编写有效的单元测试。但是，对于某些单元测试场景，Spring Framework提供了模拟对象和测试支持类，本章将对其进行介绍。
