C++ 如何使用谷歌测试(Mock)以特定频率调用函数?

C++ 如何使用谷歌测试(Mock)以特定频率调用函数?,c++,mocking,googletest,C++,Mocking,Googletest,我有一个函数,它被配置成以特定的频率(比如说每秒)调用。我需要实现一个测试来检查函数是否满足这个要求 我希望有任何限定符,如.Frequency(,),但我找不到。所以我会: EXPECT_CALL(my_obj, obj_function()).Frequency(900, 1100); 如何使用Google Test验证此要求?您的问题与不完全相同,但很相似。我认为你可以做一些类似的事情: StartTimer() EXPECT_CALL(my_obj, obj_function());

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

我希望有任何限定符,如.Frequency(,),但我找不到。所以我会:

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

如何使用Google Test验证此要求?

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

StartTimer()
EXPECT_CALL(my_obj, obj_function());
EndTimer();
ASSERT_TRUE(elapsedTime() >= 0.9);
ASSERT_TRUE(elapsedTime() <= 1.1);
StartTimer()
EXPECT_调用(my_obj,obj_function());
结束计时器();
ASSERT_TRUE(elapsedTime()>=0.9);
断言为真(elapsedTime()