gpt4 book ai didi

c++ - 验证参数对于 gmock 中的多个预期调用具有相同的值

转载 作者:行者123 更新时间:2023-11-28 05:10:30 25 4
gpt4 key购买 nike

给定一些至少接受一个参数的模拟函数:

MOCK_METHOD1(fun, void(int p));

根据参数 p 的值,我如何EXPECT_CALL 两个相同的调用?我不关心 p 的实际值是多少,只要对函数 fun 的两次调用都相同即可。我无法预测测试用例中 p 的值。

最佳答案

选项#1

EXPECT_CALL( mock, fun( testing::Truly( []( int p ) {
static int initial = p;
return initial == p;
} ) ) )
.Times( 2 );

选项#2

int p = 0;
testing::Sequence seq;
EXPECT_CALL( mock, fun( _ ) )
.InSequence( seq )
.WillOnce( testing::SaveArg< 0 >( &p ) );
EXPECT_CALL( mock, fun( testing::Eq( testing::ByRef( p ) ) ) )
.Times( 1 )
.InSequence( seq );

关于c++ - 验证参数对于 gmock 中的多个预期调用具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43607922/

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