为了账号安全,请及时绑定邮箱和手机立即绑定

关于google mock 入门概述什么是mock?

关于google mock 入门概述什么是mock?

守着一只汪 2019-08-19 17:13:13
google mock 入门概述什么是mock
查看完整描述

4 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

google mock按道理讲只能mock虚函数,这是因为在单元测试中,首先定义一个mock类(mockTest),public继承要mock的函数(fun1())所在的类(Test),在mockTest中调用宏MOCK_METHODn,该宏应该是在mockTest中声明一个同名的虚函数(virtual fun1()),因为测试用例中有关fun1()的函数都是通过mockTest对象进行调用的,因此,所有涉及到fun1()的函数均是mockTest类中重新定义的那个。对于非虚函数,由于其可能在类中的其它函数fun2()中被调用,假设mockTest并没有重新定义fun2(),虽然使用了mockTest类对象去调用fun2(),但是fun2()是从Test中继承的,fun2()中调用的fun1()必然是Test中的原始函数,并不是mock之后的fun1(),所以我觉得这就是google mock 无法mock非虚函数的原因。

查看完整回答
反对 回复 2019-08-24
?
大话西游666

TA贡献1817条经验 获得超14个赞

可以把mock理解为空白对照。严格来讲,mock是指只加转染试剂不加病原体,以排除转染试剂对细胞的影响;但是有时候可能实验者连转染试剂都没有加,直接用没有处理过的细胞作为mock对照。再有,如果转染的不是病原体,而是质粒,转入空白质粒的细胞也可以作为mock

查看完整回答
反对 回复 2019-08-24
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

如果被测程序、系统或对象,我们称之为A,那么Stub和Mock指的并不是A,而是测A的过程中,A需要与之交互的程序、系统或对象B。

Stub,也即“桩”,很早就有这个说法了,主要出现在集成测试的过程中,从上往下的集成时,作为下方程序的替代。作用如其名,就是在需要时,能够发现它存在,即可。就好像点名,“到”即可。

Mock,主要是指某个程序的傀儡,也即一个虚假的程序,可以按照测试者的意愿做出响应,返回被测对象需要得到的信息。也即是要风得风、要雨得雨、要返回什么值就返回什么值。

查看完整回答
反对 回复 2019-08-24
?
慕村9548890

TA贡献1884条经验 获得超4个赞

如果被测程序、系统或对象,我们称之为A,那么Stub和Mock指的并不是A,而是测A的过程中,A需要与之交互的程序、系统或对象B。Stub,也即“桩”,很早就有这个说法了,主要出现在集成测试的过程中,从上往下的集成时,作为下方程序的替代。作用如其名,就是在需要时,能够发现它存在,即可。就好像点名,“到”即可。Mock,主要是指某个程序的傀儡,也即一个虚假的程序,可以按照测试者的意愿做出响应,返回被测对象需要得到的信息。也即是要风得风、要雨得雨、要返回什么值就返回什么值。

查看完整回答
反对 回复 2019-08-24
  • 4 回答
  • 0 关注
  • 954 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信