You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Gmock:是否允许在不同的模拟对象中交错使用期望和调用模拟函数?

在Gmock中,是允许在不同的模拟对象中交错使用期望和调用模拟函数的。下面是一个示例代码,演示了如何在不同的模拟对象中交错使用期望和调用模拟函数

#include <gmock/gmock.h>

class MockObject1 {
public:
    MOCK_METHOD(void, Func1, ());
    MOCK_METHOD(int, Func2, ());
};

class MockObject2 {
public:
    MOCK_METHOD(void, Func3, ());
    MOCK_METHOD(std::string, Func4, ());
};

TEST(MockObjectTest, TestFuncs) {
    MockObject1 mock1;
    MockObject2 mock2;

    // 设置期望
    EXPECT_CALL(mock1, Func1()).WillOnce(testing::Return());
    EXPECT_CALL(mock2, Func4()).WillOnce(testing::Return("mock2"));

    // 调用模拟函数
    mock1.Func1();
    mock2.Func4();

    // 设置期望
    EXPECT_CALL(mock1, Func2()).WillOnce(testing::Return(123));
    EXPECT_CALL(mock2, Func3()).WillOnce(testing::Return());

    // 调用模拟函数
    int result = mock1.Func2();
    mock2.Func3();

    // 验证结果
    EXPECT_EQ(result, 123);
}

int main(int argc, char* argv[]) {
    testing::InitGoogleMock(&argc, argv);
    return RUN_ALL_TESTS();
}

在上面的示例中,我们创建了两个模拟对象MockObject1MockObject2。在模拟对象MockObject1中,我们设置了对Func1Func2的期望,并在Func1Func2调用时返回了相应的值。在模拟对象MockObject2中,我们设置了对Func3Func4的期望,并在Func4调用时返回了一个字符串。

在测试用例MockObjectTest中,我们首先调用mock1.Func1()mock2.Func4()来触发模拟函数调用。然后,我们设置了对Func2Func3的期望,并在Func2调用时返回了一个整数。最后,我们验证了Func2的返回值是否符合预期。

通过以上示例代码,我们可以看到在不同的模拟对象中交错使用期望和调用模拟函数是可行的。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

精选文章|iOS内存泄漏监控实践

我们的期望是不入侵业务,所以让用户帮我们覆盖每一个业务场景。 #### **监控上线需要全量开启吗?**不需要,有一定数量的样本即可。 #### **为什么内存泄漏需要精准定位?**监控不准确,一个内存泄漏问题需要check大量的代码,更重要的是,看代码能轻易看出来的内存泄漏,这段代码就不会被这么写了。精准定位泄漏问题后,开发同学只需要看某几行或几个对象关联的代码即可,大大减小了工作量,缩短问...

2022技术盘点|臻视高清画质引擎研发之路|社区征文

视频档案中的很多内容存在斑点、交错、损坏等。利用AI技术,快速将档案资料修复为高清内容,并进行数字化保存管理# 核心能力从上面的引擎架构图可以看到,臻视系统在面对不同的场景时,会先利用画质分析系统对所处理... 我们的臻视系统在人像场景下的增强效果显著提升n个档次,提升了算法对年轻群体的吸引程度,同时也极大增加了社交媒体曝光度,进而促进了整体算法的调用量。- ### SDR2HDR—— 让真实显性的真视宝石正如**DotA游戏...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Gmock:是否允许在不同的模拟对象中交错使用期望和调用模拟函数?-优选内容

精选文章|iOS内存泄漏监控实践
我们的期望是不入侵业务,所以让用户帮我们覆盖每一个业务场景。 #### **监控上线需要全量开启吗?**不需要,有一定数量的样本即可。 #### **为什么内存泄漏需要精准定位?**监控不准确,一个内存泄漏问题需要check大量的代码,更重要的是,看代码能轻易看出来的内存泄漏,这段代码就不会被这么写了。精准定位泄漏问题后,开发同学只需要看某几行或几个对象关联的代码即可,大大减小了工作量,缩短问...
2022技术盘点|臻视高清画质引擎研发之路|社区征文
视频档案中的很多内容存在斑点、交错、损坏等。利用AI技术,快速将档案资料修复为高清内容,并进行数字化保存管理# 核心能力从上面的引擎架构图可以看到,臻视系统在面对不同的场景时,会先利用画质分析系统对所处理... 我们的臻视系统在人像场景下的增强效果显著提升n个档次,提升了算法对年轻群体的吸引程度,同时也极大增加了社交媒体曝光度,进而促进了整体算法的调用量。- ### SDR2HDR—— 让真实显性的真视宝石正如**DotA游戏...

Gmock:是否允许在不同的模拟对象中交错使用期望和调用模拟函数?-相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询