当前位置: 首页 > news >正文

gmock 如何mock一个模板类单例

直接看代码

#include <gtest/gtest.h>
#include <gmock/gmock.h>using ::testing::Return;
using ::testing::_;template<typename T>
class mockFoo{
public:static mockFoo& GetInstance(){static mockFoo instance;return instance;}MOCK_METHOD(T, bar, (const T&), ());
protected:mockFoo() = default;~mockFoo() = default;mockFoo(const mockFoo&) = delete;mockFoo& operator=(const mockFoo&) = delete;
};class fooTest : public ::testing::Test {
protected:void SetUp() override {}void TearDown() override {}
};TEST_F(fooTest, fooTest1){auto& ins = mockFoo<int>::GetInstance();EXPECT_CALL(ins, bar(_)).WillOnce(Return(42));EXPECT_EQ(ins.bar(1), 42);
}int main(int argc, char** argv) {::testing::InitGoogleTest(&argc, argv);return RUN_ALL_TESTS();
}

红帽系安装gtest:

sudo dnf install gtest gtest-devel gmock-devel

编译:

g++ -std=c++17 main.cpp -lgtest -lgmock -lpthread -o test

http://www.jsqmd.com/news/135404/

相关文章:

  • 学术写作必备:9个AI平台实测对比,轻松搞定论文从开题到降重
  • 从开题到降重,这9款AI论文平台实测表现优秀,助力学术写作
  • Bazzite 完全攻略:3步打造专业级Linux游戏平台
  • 2025-2026年中国GEO优化公司盘点:综合型与细分型公司对比 - 速递信息
  • 保险怎么买合适年轻人?2025 京东金融专属配置 QA 指南 - 速递信息
  • python+vue的大学生创客创业项目申请答辩平台的设计与实现_4a271
  • python+vue篮球人才球员管理系统vue
  • 星拓广告助力跨境电商圣诞季爆单的三大核心策略 - 速递信息
  • 《人工智能:原理与技术》学习笔记 II —— Reinforcement Learning
  • 解锁AI开发新效率:AI Ping平台与免费明星模型MiniMax-M2.1、GLM-4.7深度解析
  • 技术分享 / 客户 Demo 时,敏感数据防泄露的一种工程化方案
  • 为什么 Tailwind CSS 最适合用于 AI 驱动的前端编码
  • 2025.12.24
  • 健身教程资源合集
  • maixcam离线训练YOLO模型的格式转换问题(py/onnx转cvimodel) - -zolo
  • 工业质检多缺陷漏检,后来才知道融合X射线与热成像数据对齐特征
  • 2025最新!10个AI论文平台测评:本科生写论文还能这么快?
  • 9大AI论文平台实测对比:开题报告撰写与降重效果深度评测
  • M9A游戏助手:智能化任务执行的终极解放方案
  • 实用指南:统信UOS arm64架构JDK离线安装包(亲测可用,零依赖部署)
  • 精选9款AI论文助手:高效完成开题报告与论文降重任务
  • 【创建计算机断层扫描金属制品】创建的计算机断层扫描金属伪影、该模拟为平行束CT附Matlab代码
  • 博弈论小记(1)——基础博弈论概念
  • 2025继续教育必备9个降AI率工具测评榜单
  • Ubuntu 下配置 SFTP 服务并实现安全数据共享
  • 屹晶微 EG2106D 600V耐压、半桥MOS/IGBT驱动芯片技术解析
  • 【工具】OpenScreen 完整使用教程
  • 2025最新!专科生毕业论文必备9大AI论文平台测评
  • 别再手动熬文献综述!7款AI工具一键生成+真实文献交叉引用
  • 懒加载示例