gmock.h 未包含在我的 Google 测试的外部依赖项中

gmock.h is not included in external dependencies of my Google Test

我在 Windows 10 上使用 visual studio 2017。我创建了一个新的 google 测试项目来测试我的另一个项目。 #include "gtest/gtest.h" 不会给出编译错误,但是 #include "gmock/gmock.h" 会!查看外部依赖项文件夹的内部,我看到 gtest.h 在那里,但没有 gmock.h。因此,当我尝试包含 mock 时,编译器会给我这个错误:“无法打开包含的文件:'gmock/gmock.h':没有这样的文件或目录”。当我进入 工具 -> 扩展和更新 时,我看到 Google 测试的测试适配器有版本:0.10.1.7 并且它的发行说明说它支持 Google 根据 https://github.com/google/googletest/releases.

测试具有 google mock 的 V1.8.0
  1. 为什么 gmock.h 不存在?我是否需要更新“Google 测试的测试适配器”或 Google 测试本身?是不是因为我的google测试版本可能比较低?我什至不确定如何找到我拥有的 Google 测试版本;它没有说。

  2. 我不应该使用测试适配器,而是尝试将最新版本的 googletest myself 配置到 visual studio 2017 中吗?

  3. 让 gmock 使用我的设置的最佳方法是什么?

出于某种原因,Visual Studio 2017 带有 Google 测试但没有 Google 模拟。

解释了如何将标准包更新为包含 Google Mock 的包。然而,这对我不起作用。

我通过下载 Google Test(包括 Google Mock)并自己构建解决了它。

之后,创建一个新的控制台应用程序项目(不是一个Google测试项目)。更改配置以包含 Google 测试包含目录和 link 以及 Google 测试库。对于 Google 测试 1.8.1 和调试配置:

  • $(GTEST_DIR)\googletest\include$(GTEST_DIR)\googlemock\include 添加到其他包含目录;
  • gtestd.libgmockd.libgmock_maind.lib 添加到附加依赖项中;
  • $(GTEST_DIR)\googlemock\gtest\Debug$(GTEST_DIR)\googlemock\Debug 添加到其他库目录。

此处 $(GTEST_DIR) 是您构建 Google 测试的位置。将其替换为实际目录或设置环境变量。

如果您构建应用程序,Visual Studios Test Explorer 应该将其识别为 Google 测试应用程序。