自动生成 Google Mock 方法?

bre*_*yer 3 c++ methods googletest googlemock

我对 C++ 和单元测试还很陌生,我现在正在学习使用 Google Mock 和 Google Test 来测试我正在使用的一些代码。有没有一种方法可以将 Google Mock 指向您的类并让它自动为您的所有函数生成所有 Google Mock 方法,而不是手动编写所有 Google Mock 方法?

有人告诉我他们认为这应该是可能的,但由于我是新手(几周前刚开始学习 C++),我不知道这是否可能。

Zek*_*eks 5

引用 gmock 文档:

如果这对您来说工作量太大,您会发现 Google Mock 的 scripts/generator/ 目录(由 cppclean 项目提供)中的 gmock_gen.py 工具很有用。此命令行工具要求您安装 Python 2.4。你给它一个 C++ 文件和在其中定义的抽象类的名称,它会为你打印模拟类的定义。由于 C++ 语言的复杂性,这个脚本可能并不总是有效,但当它有效时它会非常方便

https://code.google.com/p/googlemock/wiki/ForDummies

因此,您只需将标头传递给 python 脚本,它就会输出一个随时可用的模拟实现。根据我的经验,它并不总是 100% 正确,但修复相对微不足道,所以这个解决方案是我自己使用的。

  • `即使这对你来说也是太多工作`。多么光荣的声明。一些代码生成器(我在这里查看另一个 Google 产品)会生成多兆字节的 C++ 源代码,这不仅仅是激发代码生成器的懒惰。交付产品是否只是“工作量太大”而不是花费数周时间一遍又一遍地转录`std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface < `? (2认同)