Mock 七宗罪

我合作过的很多团队,特别是敏捷团队,都对Mock情有独钟。有些团队甚至达到了无Mock不UT的地步。2013开始我在团队中开始推行去Mock化,并取得了不错的效果。要在团队中去Mock必须要回答两个问题:第一Mock本身有什么缺陷;第二不用Mock怎么写(单元)测试。下面是我列的一个大纲,成稿的时候可能会有一些调整。

第一部分:Mock测试的缺陷

  1. 漏测核心逻辑
  2. 测试不存在的逻辑
  3. 漏测横切特性
  4. 掩盖坏味道
  5. 掩盖性能缺陷
  6. 阻碍重构
  7. 测试实现细节而非功能。

第二部分:不用Mock怎么写(单元)测试

  1. 消除『单元』情结
  2. 对象创建与依赖注入
  3. 文件、网络和数据库
  4. MVC和容器
  5. Reactive Programming

实录提要:

  • 没有 Mock 的话怎么保障测试用例专注于单个方法的功能验证?
  • 消除单元情结,消除之后单元测试和集成测试的分界线是什么呢?
  • 数据库相关的层如何测试?
  • 如何应用内存数据库达到测试实际数据库的目的?
  • 如果确实出现 private 方法,是怎么测试的,通过调用方法覆盖吗?
  • Mock 和自动化测试之间有什么关系?

阅读全文: http://gitbook.cn/gitchat/activity/58eb77690ff0430e0255a8c4

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

你可能感兴趣的:(Mock 七宗罪)