【发布时间】:2019-07-31 09:11:09
【问题描述】:
我尝试按照 gMock for Dummies 的入门创建一个非常简单的 Mock 类。
-
我在 VS Studio 2019 中新建了一个空白项目
-
我按照这个答案 Configure GoogleMock 运行了包管理器
Install-Package gmock -Version 1.8.1 -
创建的 packages.config 文件
<?xml version="1.0" encoding="utf-8"?>` <packages> <package id="gmock" version="1.8.1" targetFramework="native" /> </packages> -
我创建了 1 个文件 Source.cpp
class Turtle { virtual void PenUp(); }; void Turtle::PenUp() { return; } #include "gmock/gmock.h" class MockTurtle : public Turtle { public: MOCK_METHOD(void, PenUp, (), (override)); // not working see Pic1 MOCK_METHOD0(PenUp, void()); // not working see Pic2 };
第二个例子尝试了类似这个答案How to mock method的语法
图1:
图2:
【问题讨论】:
-
问题是特定于您的机器/代码。你的例子只是works in both versions。在您没有显示的代码中做了一些不好的事情。
-
还有一些事情应该在bit different way 中完成。
-
我将您的代码示例复制并粘贴到我的 Source.cpp 中,Visual Studio 仍然会告诉我“未找到 'MOCK_METHOD' 的函数定义。”除了我展示的 link 的 Source.cpp 和 packages.config 之外,项目中也没有任何内容
-
澄清一下:这是构建问题还是 IDE 显示的警告?未安装 ReSharper 的 AFAIK Visual Studio IDE 在看到来自 gtest/gmock 的一些宏时会显示一些误报警告。
-
您的 gMock-for-dummies 链接已过时且已损坏。新链接是google.github.io/googletest/gmock_for_dummies.html
标签: c++ visual-studio googletest visual-studio-2019 googlemock