如何期望通过使用Google Test(Mock)以特定频率调用函数

How to expect a function to be called in a specific frequency by using Google Test (Mock)?

本文关键字:Mock 频率 函数 调用 Test 期望 何期望 Google      更新时间:2023-10-16

我有一个函数,它被配置为以特定的频率(比方说每秒(调用。我需要实现一个测试来检查函数是否满足此要求。

我希望有任何类似的限定词。Frequency(,(,但我找不到。所以我会有:

EXPECT_CALL(my_obj, obj_function()).Frequency(900, 1100);

如何使用谷歌测试验证此要求?

您的问题与此不完全相同,但相似。我认为你可以做一些类似的事情:

StartTimer()
EXPECT_CALL(my_obj, obj_function());
EndTimer();
ASSERT_TRUE(elapsedTime() >= 0.9);
ASSERT_TRUE(elapsedTime() <= 1.1);

要么循环,要么重复合适的时间——大概你不想运行几个小时,但打几个电话。。。