新足迹

 找回密码
 注册

精华好帖回顾

· 上甘岭狙神杀器再现,分享我新入手的水连珠步枪。超多图!细节!高清! (2013-6-7) Tacticool · 美讶滴"深夜"私房小菜---P5考到绿P的开心家常晚餐 (2007-2-4) 美讶
· 扫大街-老片片 (2010-2-4) MINIBOAT · 澳洲葡萄酒白话版之 Semillon (2009-10-21) patrickzhu
Advertisement
Advertisement
查看: 1622|回复: 7

---------- 请教一个关于Moq的基本问题 ---------- [复制链接]

发表于 2012-6-21 15:59 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
作为Unit test,如果Mock了一个interface,再用Dependancy Injection到真正的class,这么一个object就能真正的去call它的方法了。假设这个方法最终又是在计算机上创建一个folder并且返回成功/失败,那么我的这个unit test不就是违背了“不碰系统/网络”的原则了吗?



还有就是用Mock的Setup(p=>p.CreateFolder(...)).Return(true);可以设置成这个方法永远返回true,那我们又在test什么呢?不能触及真正的code了啊。
Advertisement
Advertisement

发表于 2012-6-21 16:15 |显示全部楼层
此文章由 wkp 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wkp 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你测得是调用的class的行为, 你可以return true,也要测试return false,throw exception

评分

参与人数 1积分 +3 收起 理由
梦呓人 + 3

查看全部评分

发表于 2012-6-21 16:26 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Unit test用来test创建folder前后的逻辑是否正确, 而不是test能否创建folder这个操作, 这个只能够在integration test中验证。

评分

参与人数 1积分 +3 收起 理由
梦呓人 + 3

查看全部评分

发表于 2012-6-22 08:41 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2012-6-21 16:26 发表
Unit test用来test创建folder前后的逻辑是否正确, 而不是test能否创建folder这个操作, 这个只能够在integration test中验证。


spot on!!

评分

参与人数 1积分 +3 收起 理由
梦呓人 + 3 只有2个字的时候码兄还是那么给力!:)

查看全部评分

发表于 2012-6-22 11:05 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 无视 于 2012-6-22 08:41 发表


spot on!!


得到了大牛的肯定

评分

参与人数 1积分 +3 收起 理由
无视 + 3 u r 大牛!!

查看全部评分

发表于 2012-6-22 11:21 |显示全部楼层
此文章由 wil 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wil 所有!转贴必须注明作者、出处和本声明,并保持内容完整
设计的时候尽量将side effect方法滞后到最后一步(如和应用外部系统的互交),这样的容器外单元测试的覆盖率才会提高,在设计应用内组件时尽量不要设计有side effect的方法,这样连mock也可以少做一些

评分

参与人数 1积分 +3 收起 理由
梦呓人 + 3

查看全部评分

回忆是红色的天空
Advertisement
Advertisement

发表于 2012-6-22 14:36 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我们CTO拿着dot cover来测试我们unit tests的覆盖面,说要达到80%

发表于 2012-6-22 16:20 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 梦呓人 于 2012-6-22 14:36 发表
我们CTO拿着dot cover来测试我们unit tests的覆盖面,说要达到80%


haha, have fun

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部