c++ - MOCK_DECLARE_METHOD 和 MOCK_METHOD 有什么区别
问题描述
我提到过,有些人使用 GTest 用 MOCK_DECLARE_METHOD 声明 Mock 对象,有些人用 MOCK_METHOD 声明。有什么不同?至于我, MOCK_METHOD 更好,不需要 *.cpp 文件和 MOCK_DEFINE_METHOD
解决方案
MOCK_METHOD()
更方便,但是会为每个包含它的编译单元(~ .cpp 文件)编译很多代码(甚至是传递性的)。这可能会变得很慢。
使用MOCK_DECLARE_METHOD()
并且MOCK_DEFINE_METHOD()
你放入MOCK_DECLARE_METHOD()
你的头文件,一次又一次地编译相当快;然后你把对应MOCK_DEFINE_METHOD()
的文件放到一个单独的.cpp文件中,编译起来会很慢,但只需要编译一次。
注意:似乎从 GTest 1.8.1 开始。MOCK_DECLARE_METHOD
/MOCK_DEFINE_METHOD
消失了,MOCK_METHOD
是唯一的选择。
推荐阅读
- google-sheets-api - Google 关于 Sheets API v3 关闭的邮件中的歧义 2020 年 3 月 3 日
- c++ - c ++ int导致输出最大值
- node.js - 如何使用 CryptoJS 在 Node.js 中成功解密使用 OpenSSL 生成的 AES-256 加密内容
- python - 如何在 Python 中使用熊猫创建数据透视表?
- algorithm - 对 400 名学生的“出价”进行排序的简单方法?
- python - 使用 head_object 时为键值使用变量 - Amazon S3 Boto3
- vue.js - 在 vue.js 模板中显示主机名
- delphi - 获取 SQL 来比较数据库
- python - 如何使用 IF 语句对 Pandas 的多个条件进行分类
- javascript - 将表单数据收集到 Google 表格时遇到更多麻烦