我合作过的很多团队,特别是敏捷团队,都对Mock情有独钟。有些团队甚至达到了无Mock不UT的地步。2013开始我在团队中开始推行去Mock化,并取得了不错的效果。要在团队中去Mock必须要回答两个问题:第一Mock本身有什么缺陷;第二不用Mock怎么写(单元)测试。下面是我列的一个大纲,成稿的时候可能会有一些调整。
第一部分:Mock测试的缺陷
- 漏测核心逻辑
- 测试不存在的逻辑
- 漏测横切特性
- 掩盖坏味道
- 掩盖性能缺陷
- 阻碍重构
- 测试实现细节而非功能。
第二部分:不用Mock怎么写(单元)测试
- 消除『单元』情结
- 对象创建与依赖注入
- 文件、网络和数据库
- MVC和容器
- Reactive Programming
实录提要:
- 没有 Mock 的话怎么保障测试用例专注于单个方法的功能验证?
- 消除单元情结,消除之后单元测试和集成测试的分界线是什么呢?
- 数据库相关的层如何测试?
- 如何应用内存数据库达到测试实际数据库的目的?
- 如果确实出现 private 方法,是怎么测试的,通过调用方法覆盖吗?
- Mock 和自动化测试之间有什么关系?
阅读全文: http://gitbook.cn/gitchat/activity/58eb77690ff0430e0255a8c4
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。