在EXPECT_CALL中使用谷歌模拟的EXPECT_THAT?
Use google mock's EXPECT_THAT in EXPECT_CALL?
我正在使用谷歌模拟。该文档说我们可以在EXPECT_CALL或ON_CALL中使用EXPECT_THAT,但像这样的代码似乎无法编译:
EXPECT_CALL(obj, method(_, _)).Times(1).WillOnce(EXPECT_THAT(true, Eq(1)));
我知道EXPECT_THAT是一个宏,所以它会扩展到一些不应该出现在那里的语句。那么"在EXPECT_CALL中使用EXPECT_THAT"是什么意思呢?怎么办?
谢谢
您误解了匹配器的文档:
匹配器匹配单个参数。您可以在 ON_CALL() 或 EXPECT_CALL() 中使用它,也可以使用它直接验证值
然后,文档继续给出一个示例,说明如何使用匹配器来验证值:
EXPECT_THAT(value, matcher)
断言value
与matcher
匹配。
这并不是说EXPECT_THAT
本身就是一个匹配者。 所以你不能做你正在尝试的事情,而只能做一些更像的事情:
EXPECT_THAT(true, testing::Eq(1));
或
EXPECT_CALL(obj, method(testing::_, testing::Eq(1))).Times(1);
相关文章:
- 如何使用Google Mock来模拟gettimeofday()
- G锁定铸造到基础上会释放模拟行为
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 落砂模拟碰撞检测C++和SFML
- 在gtest.中使用fff.h模拟系统API
- 谷歌模拟和覆盖关键字
- 用C#中的并集模拟C++嵌套结构
- 在同一模拟中使用静脉和静脉_ inet内容时出现运行时错误
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 我写了一个C++程序来模拟Enigma机器.我没有得到输出
- 如何模拟不同边数的骰子滚动?
- 模拟持久按键
- 使用SIR模型的疾病爆发模拟
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 转发变量参数列表以模拟 std::thread
- 如何在谷歌模拟中匹配 C 样式数组
- 如何使用兰德随机化模拟点击
- 模拟GPS数据,以便使用Qt与Traccar一起使用
- QKeyPress - 在Qt中模拟按键
- 谷歌模拟:我怎么能" EXPECT "不会在模拟上调用任何方法