gpt4 book ai didi

c++ - Hippomocks:如何只期望传递给 ExpectCall() 的一些参数?

转载 作者:行者123 更新时间:2023-11-28 03:15:23 28 4
gpt4 key购买 nike

在模拟框架中 Hippomocks可以在期望中检查传递的参数。例如:

void Class::Method(int arg1);
...
m_mockRepository_p->ExpectCall(someObject_p, Class::Method).With(1);

有没有可能只检查一些传递的参数?我应该写什么而不是???在下面的代码中?

void Class::Method(int arg1, char* buffer_p);
...
m_mockRepository_p->ExpectCall(someObject_p, Class::Method).With(1,???);

供您引用:用例是 someObjet_p 在内部创建一个缓冲区以读取其中的数据并将其传递给 Class::Method。首先,我不关心 someObject_p 想要将数据放入哪个缓冲区。其次,我无权访问 someObject_p 的内部结构以将其传递给 With() - 这是非常合理的。

注意:我在使用 ExpectCall 时将问题标记为 C++,但我猜这同样适用于平面函数的 ExpectCallFunc。

第二个注意事项:Hippomocks 提供了名为“Match()”、“getArgs()”、“assignArgs()”和“matchesArgs()”的期望方法,但我既没有找到任何关于它的文档,也不知道它们是否是否打算使用(针对我的用例)。

最佳答案

传入一个 Don't-Care 作为该参数:

m_mockRepository_p->ExpectCall(someObject_p, Class::Method).With(1, _);

关于c++ - Hippomocks:如何只期望传递给 ExpectCall() 的一些参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17064978/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com