我正在使用 gmock、gtest 框架来测试我的代码中的函数。我嘲笑了在正在测试的主函数中调用的函数。模拟函数处于无限循环中,仅在成功的情况下退出,并在失败的情况下保持打印错误消息。模拟函数看起来像这样,
while((fd = (socket(_,_,_)) < 0)
{
print("error")
}
return fd;
现在我想让套接字函数失败并打印错误。我设法打印了错误,但由于它在他的 while 循环中,它一直在打印错误消息。我如何期望 gtest 在 1 或 2 次后停止打印。我把期望这样
EXPECT_CALL(object, socket(_,_,_)).WillRepeatedly(return (error));
我尝试使用 .Times(2),但没有成功。