Spring Test
原文链接:
测试:
这个章节包括spring对集成测试的支持和单元测试的最佳实践。spring团队提倡TDD(测试驱动开发),spring团队已经发现正确的使用Ioc确定可以简化单元测试和集成测试(在Ioc中因为setter方法的存在和合理的构造器能够使得类很容易组装在一个测试用例中,而不用手动的将service注册在一起
1.简介
测试是企业软件开发的一个必要的组成部分。这个章节的价值所在是将IoC的原则添加到单元测试中,并且获得Spring框架对集成测试的支持。(对企业应用软件完整的治理机制远远超出参照手册的范围。
2.单元测试
相对于传统的JAVA EE开发,在容器中DI能够使减少你的代码的依赖。POJOs使得你的应用在Junit或TestNG中应该可以测试,通过使用new操作进行对象实例化,而不需要依赖于Spring或者其他的容器。你可以通过mock对象的方式,对代码进行独立的测试。如果您遵循Spring的体系结构建议,那么代码库的干净分层和组件化将简化单元测试。例如,你可以通过打桩或者mock Dao接口的方式来测试你的service层,而不需要在运行单元测试的时候获取持久层的数据。
因为没有创建运行时环境,真正的单元测试能够以非常快的方式运行。强调一下作为你开发方法论的一部分,真正的单元测试能够有效的提升你的生产力。你可能不需要这个测试的章节来帮助你针对你的基于IoC的应用编写有效的测试用例。但是本章这种描述了在某些单元测试的场景,Spring框架提供了mock对象和测试支持类。
2.1 mock对象
Spring提供了一组专注于mock的包:
Environment
JNDI
Servlet API
Spring Web Reactive
2.1.1 Environment
未完待续......
2.1.2 JNDI
未完待续......
2.1.3. Servlet API
未完待续......
2.1.4. Spring Web Reactive
未完待续......
2.2 单元测试支持类
Spring提供了一组来支持单元测试,它们分布在两个不同的目录中。
2.2.1 General Testing Utilities
未完待续......
2.2.2. Spring MVC Testing Utilities
3.集成测试
这个章节(占了大量的摄于篇幅)覆盖了Spring应用的集成测试。它包括以下的主题
概述
集成测试的目标
JDBC测试支持
注解
Spring TestContext Framework
Spring MVC Test Framework
PetClinic Example
3.1 概述
未完待续......
3.2 集成测试的目标
Spring集成测试支持包括如下几个目标
管理测试用例之间Spring IoC容器的缓存
提供测试目标实例的依赖注入
为集成测试提供事务管理
为开发者在编写集成测试用例是提供spring特性的基础类
3.3 JDBC测试支持
未完待续......
3.4 注解
未完待续......
3.5 Spring TestContext Framework
未完待续......
3.6 Spring MVC Test Framework
未完待续......
3.7 PetClinic Example
未完待续......