如何在 C++ 中使用 GMOCK 中输入的参数?

发布于 2025-01-10 22:00:51 字数 236 浏览 0 评论 0原文

我需要使用模拟类函数的输入参数。

    EXPECT_CALL(*mockAdd, addThree(Matcher<int>())).WillOnce(RETURN(input_parameter + 4));

给一个函数 at 向该函数传递参数。如何在我的模拟中使用给定的输入。鉴于我不知道 input_parameter 是什么。我不想分配 input_parameter。

I need to use the input parameter of a mock class function.

    EXPECT_CALL(*mockAdd, addThree(Matcher<int>())).WillOnce(RETURN(input_parameter + 4));

Give a function at passes in argument to the function. How do I use the given input in my mock. Given that I do not know what the input_parameter is. I do not want to assign the input_parameter.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒儿 2025-01-17 22:00:51

让我们尝试使用testing::DoAll 和testing::Invoke

EXPECT_CALL(*mockAdd, addThree(Matcher<int>())).WillOnce(DoAll(
    testing::Invoke([](int input_param)
    {
        // do anything here with input_param
    }),Return(input_parameter + 4))
);

lets try with testing::DoAll and testing::Invoke

EXPECT_CALL(*mockAdd, addThree(Matcher<int>())).WillOnce(DoAll(
    testing::Invoke([](int input_param)
    {
        // do anything here with input_param
    }),Return(input_parameter + 4))
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文