作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在模拟框架中 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/
我是一名优秀的程序员,十分优秀!