我是gmock的新手,有时我不得不编写gmock单元测试。
我在名为ClassServer的类中有一个名为join_server()的函数,并且为ClassServer有一个相应的MOCK类。我也有一个名为create_service(ClassServer&RefToClassServer)的静态函数,在另一个类ClassService中定义。静态函数create_service()使用对ClassServer的引用调用join_server()。
我试图编写一个gmock测试来断言,只要调用create_service()就会调用join_server()。但我得到以下错误。
预期:将被调用一次 实际:从未致电-不满意和主动
我的gmock测试就是这样
BOOST_AUTO_TEST_CASE(test_create_service)
{
EXPECT_CALL(referenceToClassService,join_server());
create_service(referenceToClassService);
}
gmock是否不支持检查通过静态函数调用的函数?知道如何执行create_service()时断言join_server()被调用吗?
在join_server()中,我正在打印消息,并确认只要调用create_service(),就会调用join_server()。
我可以提供完整的代码,但首先我想检查一下是否受支持。
注意:join_server()也由另一个类的成员函数(例如DummyClass)调用。此成员函数不是静态的,在这种情况下,我对EXPECT_CALL(referenceToDummyClass,join_server())的检查按预期成功。
我不明白为什么静态函数调用它失败。 谢谢