如何写Fake和Mock的方法

这里我总结下如何写Fake的方法:

1,在代码中有依赖,比如代码依赖ABC.cpp文件里的方法。这些方法还没有实现,这是应该是拿到了这些包含了这些方法的定义的头文件,ABC.h。 

2, 创建一个Fake程序,Fake_ABC.cpp和Fake_ABC.h.  在Fake_ABC.h里include ABC.h. 并定义新的行为Fake_action_1(), Fack_action_2(). 这些行为多数是用来帮助获取Fake object的状态。

3,   实现ABC.h里定义的行为,和Fake_ABC.h定义的额外增加的辅助测试的行为

4,构建TDD 测试case,写production code


Fake更像是Stub,是对被Fake,Stub的对象做简单的返回值处理。多少情况是程序的依赖程序不ready。而Mock是为了验证依赖对象和被测程序的交互。需要花更多的功夫去实现。有时候被Mock对象是硬件依赖的,被Mock对象的实现是存在的,只是不能放入off-target测试环境里。这时候就需要对该对象进行Mock。和上述方法一样,只是需要保证被Mock对象的实现.c,.cpp文件不能在测试项目里面。否则Mock的函数实现和真实代码的函数实现就会重复导致编译链接错误。


一篇介绍Stub,Mock和Fake的文章

https://dotblogs.com.tw/hatelove/archive/2012/11/29/learning-tdd-in-30-days-day7-unit-testing-stub-mock-and-fake-object-introduction.aspx.aspx




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值