【发布时间】:2016-12-11 09:48:53
【问题描述】:
我有一个单元测试代码,其中我有一个函数 foo 的模拟。当我使用 ON_CALL 构造来指定动作时,它不执行 my_action 而只是执行 foo。
ON_CALL(my_mock, foo(my_matcher()))
.WillByDefault(DoAll(my_action(), Return(0)));
但是当我执行 EXPECT_CALL 时,它会起作用。就我而言, foo() 只被调用一次。我试着看看它会有什么不同。但是谷歌搜索或搜索 stackoverflow 并没有帮助。下面是有效的 EXPECT_CALL:
EXPECT_CALL(my_mock, foo(my_matcher()))
.WillOnce(DoAll(my_action(), Return(0)));
在 my_matcher 和 my_action 相同的情况下,我不明白它们有何不同。
【问题讨论】: