新足迹

 找回密码
 注册

精华好帖回顾

· 悲剧了: 提醒有小宝宝的妈妈,注意宝宝发育性髋关节脱位 3 楼更新, 手术回来 (2010-8-21) JuliaBear88 · 说说我的Camping装备和使用体会 (2011-10-10) 河水洋洋
· [2800公里塔斯马尼亚自驾二十天探索之旅] 上部完。234楼新增虎公视频 (2009-5-8) Tiger_Karen · 日式pizza——Okonomiyaki(お好み焼き) (2010-2-2) edith921
Advertisement
Advertisement
查看: 1534|回复: 7

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

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

评分

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

查看全部评分

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

评分

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

查看全部评分

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


spot on!!


得到了大牛的肯定

评分

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

查看全部评分

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

评分

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

查看全部评分

回忆是红色的天空
Advertisement
Advertisement

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

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


haha, have fun

发表回复

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

本版积分规则

Advertisement
Advertisement
返回顶部