如果在 google mock 上指定多个 WillRepeatedly 操作会发生什么?

亚当H。

我有这种测试设置:

for (...)
{
    std::unique_ptr<MockObject> mock = std::make_unique<MockObject>();
    const SomeObject* validObject = ...;
    EXPECT_CALL(*mock, method(_)).WillRepeatedly(Return(validObject));
}

这是否保证将validObject本地对象返回到当前范围for如果是这样,如果在for?之外声明模拟,它的行为是否相同

甘地甘地

对于此示例,for 循环的每次迭代都会生成一个新的MockObject mock.

EXPECT_CALL....WillRepeatedly行将仅将该模拟对象的此方法的返回值设置为指向的任何validObject值。

如果在 for 之外声明模拟,它的行为是否相同?

是的,至少这部分测试会。不同之处在于该mock对象将在 for 循环的所有迭代之间共享,并将在迭代之间保持其状态,我会仔细检查测试是否假定循环的每次迭代都获得一个新的模拟对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果在不指定用户的情况下执行sudo passwd会发生什么?

如果在已经初始化的变量上使用`var`会发生什么情况

如果在已分配的内存上使用strdup会发生什么

如果在父节点上运行TransactionBlock 会发生什么?

如果在log4j的getlogger(“ ...”)方法上找不到指定的日志文件,会发生什么情况

如果在父级和子级上指定了不同的区域属性值,会发生什么?

如果在枚举时覆盖ImmutableHashSet会发生什么?

如果在 writeFileSync 操作期间中止 Node 脚本,文件会发生什么情况?

如果在计算圈复杂度时控制流图由多个开始和/或停止节点组成会发生什么

如果在YARN-SPARK中的映射操作中单个文件大于执行程序,会发生什么?

如果在Postgres db中的多个列上发生冲突,则进行Upsert

批量插入,如果在Postgres上发生冲突(批量插入),则进行更新

如果在其他笔记本电脑上运行,则发生Python ValueError

如果在Python中对多个变量进行其他操作则更干净

如果在模式中指定了这种猫鼬方法,为什么它不起作用?

如果在VM上运行,为什么需要更多的ram?

如果在文件锁定时启动进程,为什么文件锁未在close()上释放?

如果在DLL中调用函数时没有传递足够的参数,会发生什么?

如果在事务执行过程中终止JVM进程,会发生什么情况?

如果在构造函数中使用super调用重写的方法会发生什么

如果在我的java文件中使用了很多@SuppressWarnings,会发生什么情况?

如果在更新过程中安排关机,会发生什么情况?

如果在取消点上调用信号处理程序,会发生什么情况?

如果在JVM仍在使用Jar时更新了Jar,会发生什么情况?

如果在Spring MVC中交换@service和@repository批注会发生什么

如果在此之前完成承诺,会发生什么?

如果在安装系统更新的同时关闭Windows,会发生什么最糟糕的事情?

如果在ajax调用期间显示警报窗口,会发生什么情况?

如果在crontab文件中使用@reboot reboot,会发生什么情况?