如何解决Google Mock,希望在两个给定号码之间拨打电话
我正在使用google模拟作为测试实时系统的框架,我想验证传感器的配置是否正确实施。为此,我向该传感器发送了一个新的“频率”,并希望将我的传感器数据回调调用x次。
由于这个原因,我必须将测试线程休眠几秒钟,这样我的回调才能被调用几次。
由于这个原因,预期的调用不是固定的号码,例如,如果我希望每秒调用一次回调,并且我将线程休眠5秒钟,则实际上可以调用4到6次,否则测试太严格了。
这是问题,我还没有找到一种方法来测试期望调用是否在4到6之间,我尝试了以下方法:
EXPECT_CALL(*handler,Data_Mock(_,_)).Times(::testing::AnyNumber());
EXPECT_CALL(*handler,_)).Times(::testing::AtMost(6));
EXPECT_CALL(*handler,_)).Times(::testing::AtLeast(4));
和
EXPECT_CALL(*handler,_)).Times(::testing::AtLeast(4));
EXPECT_CALL(*handler,_)).Times(::testing::AtMost(6));
解决方法
尝试https://github.com/google/googletest/blob/master/googlemock/docs/cheat_sheet.md#cardinalities-cardinalitylist中的Between
。正是出于断言在m
和n
次之间调用给定呼叫的目的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。