如何解决如何使用gtest和gmock将传递给模拟方法的c样式指针与预期结果进行匹配?
如何使用gtest和gmock将传递给模拟方法的c样式指针与预期结果进行匹配?
我测试的方法正在内部调用:
double SKEW21Provider::getSKEW21(float *p0,float *p1,float *p2,float *p3,float *p4,int *p5,int *p6,int *p7,int *p8,int *p9,int *p10) const
我将SKEW21ProviderMock传递给它,在测试中,我尝试编写一个表达式,表明p2将是我所期望的。下面的一个有效,但是它不能保证传递给getSKEW21
的参数。
EXPECT_CALL(skew21ProviderMock,getSKEW21(_,_,_)).Times(1);
根据gtest食谱,我尝试了各种方法:https://github.com/google/googletest/blob/master/googlemock/docs/cook_book.md
我希望getSKEW21
将被p2
调用:
const float expectedP2[] = { 6.,25.,28.,0.,6.,23.,26.,29.,27.,30.,33.,28.5,31.5,30.5,32.,20.,22.,31.,0. };
但以下任何一项对我都不起作用:
EXPECT_CALL(skew21ProviderMock,ElementsAreArray(expectedP2),_)).Times(1);
/gtest/googlemock/include/gmock/gmock-matchers.h:2701:20:键入'testing :: internal :: ElementsAreMatcherImpl
:: StlContainer'(aka'float *')不能为在'::'之前使用,因为它没有成员
EXPECT_CALL(skew21ProviderMock,_))
.With(Args<2>(ElementsAreArray(expectedP2)))
.Times(1);
/gtest/googlemock/include/gmock/gmock-matchers.h:2701:34:'std :: __ 1 :: tuple
中没有名为“ value_type”的类型'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。