《xUnit Test Patterns》学习笔记6 - Test Double
来源:互联网 发布:南极科考站避孕套知乎 编辑:程序博客网 时间:2024/04/29 06:43
我不知道Test Double翻译成中文是什么,测试替身?Test Double就像是陈龙大哥电影里的替身,起到以假乱真的作用。在单元测试时,使用Test Double减少对被测对象的依赖,使得测试更加单一,同时,让测试案例执行的时间更短,运行更加稳定,同时能对SUT内部的输入输出进行验证,让测试更加彻底深入。但是,Test Double也不是万能的,Test Double不能被过度使用,因为实际交付的产品是使用实际对象的,过度使用Test Double会让测试变得越来越脱离实际。
我感觉,Test Double这玩意比较适合在Java,C#等完全面向对象的语言中使用。并且需要很好的使用依赖注入(Dependency injection)设计。如果被测系统是使用C或C++开发,使用Test Double将是一个非常困难和痛苦的事情。
要理解Test Double,必须非常清楚以下几个东西的关系,本文的重点也是说明一下他们之间的关系。他们分别是:
- Dummy Object
- Test Stub
- Test Spy
- Mock Object
- Fake Object
Dummy Object
Dummy Objects泛指在测试中必须传入的对象,而传入的这些对象实际上并不会产出任何作用,仅仅是为了能够调用被测对象而必须传入的一个东西。
使用Dummy Object的例子:
- 《xUnit Test Patterns》学习笔记6 - Test Double
- 《xUnit Test Patterns》学习笔记5 - xUnit基础
- 《xUnit Test Patterns》学习笔记1 - Test Smell
- 《xUnit Test Patterns》学习笔记2 - Goal Of Test Automation
- 《xUnit Test Patterns》学习笔记3 - Philosophy of Test Automation
- 《xUnit Test Patterns》学习笔记4 - Principles of Test Automation
- 《xUnit Test Patterns》学习笔记7(完) - 总结
- xUnit Test Patterns: Refactoring Test Code
- Test Double
- Google Test 学习笔记
- Test Automation 学习笔记
- Test Oracle Micro-Patterns
- Unit Test Patterns
- TDD (Test-Driven Development) Patterns
- 笔记test
- google test 学习笔记1-google test primer.md
- google test 学习笔记2-google test Advanced guide
- google test 学习笔记3-google test Advanced guide
- 利用业务时间做的android客户端《哈哈》
- 《xUnit Test Patterns》学习笔记5 - xUnit基础
- 解决:Bitmap too large to be uploaded into a texture exception
- 题目1056:最大公约数
- 相似性度量
- 《xUnit Test Patterns》学习笔记6 - Test Double
- python编辑器对比和推荐
- 获取ios设备mac地址
- 内核调试
- 《xUnit Test Patterns》学习笔记7(完) - 总结
- [转帖]Android操作系统11种传感器介绍
- Direct2D教程(九)渲染位图
- poj 2965 枚举加dfs
- Linux 进程通信——本地套接字(1)