Spring Test单元测试
作者:胡小根
邮箱:[email protected]
更改历史
* 2017-11-22 胡小根 初始化文档
1 历史、现状和发展
1.1 历史
1.2 现状
1.2.1 特性
- 支持主流的测试框架 Junit 和 TestNG
- 支持在测试类中使用依赖注入 Denpendency Injection
- 支持测试类的自动化事务管理
- 支持使用各种注释标签,提高开发效率和代码简洁性
- Spring 3.1 更是支持在测试类中使用非 XML 配置方法和基于 Profile 的 bean 配置模式
1.3 发展
难点:预测发展方向。
2 安装和使用
2.1 安装
2.2 使用
测试代码目录结构说明:
- src/main 业务代码目录
- src/test 测试代码目录
设置目录结构在idea下为Test Source:
2.3 示例
2.4 最佳实践
难点:最佳实践,超出于示例,应该归纳总结出积累的技巧。
3 同类技术对比
难点:归纳比对项
传统Spring测试(JUnit)带来的问题
- 问题一、导致Spring 容器多次初始化,性能开销很大。
- 问题二、不应该由测试代码管理Spring容器,应该是由Spring容器来管理测试代码。
- 问题三、无法独立于服务器完成事务测试等。
Spring Test的优势
- 使用Spring Test 有助于减少启动容器的开销,提高测试效率。
- Spring Test可以直接使用@AutoWired注入Spring容器或bean。
- Spring Test还支持事务测试,集成测试等。