Google Visual Studio 中的测试适配器:如何使用 googletest/googlemock 的本地构建
Google Test Adapter in Visual Studio: How to use local build of googletest/googlemock
为了在 Visual Studio 中使用 googletest/googlemock,我安装了 googletest 测试适配器。创建新的 Google 测试项目时,googletest 的实际实现 (lib) 包含在 NuGet 包中。 packages.config 文件显示 NuGet 包的名称。
不幸的是,就我而言,这是一个仅限 googletest 的包,但我也需要 googlemock。所以在 NuGet 包管理器中搜索它,发现许多不同的第三方包都包含这两者。但是其中一些已经过时,有些无法编译(可能是不同的工具集)。
这就是为什么我不想使用任何 NuGet 包,而是使用来自 Github 的最新 googletest/googlemock 版本的本地构建。那我该怎么做呢?
首先使用 NuGet 包管理器从项目中删除 NuGet-Package。
然后将 googletest 安装目录的路径包含到项目中:在 VC++ Directories at Include Directories 添加googletest 安装目录 \include 并在 库目录 添加 googletest 安装目录 \lib。最后在 Linker 在 Input 添加 gtestd.lib 和 gmockd.lib 到 附加依赖项.
在我的例子中,我还必须将 C/C++ 代码生成运行时库从 MDd 更改为 MTd。
为了在 Visual Studio 中使用 googletest/googlemock,我安装了 googletest 测试适配器。创建新的 Google 测试项目时,googletest 的实际实现 (lib) 包含在 NuGet 包中。 packages.config 文件显示 NuGet 包的名称。
不幸的是,就我而言,这是一个仅限 googletest 的包,但我也需要 googlemock。所以在 NuGet 包管理器中搜索它,发现许多不同的第三方包都包含这两者。但是其中一些已经过时,有些无法编译(可能是不同的工具集)。
这就是为什么我不想使用任何 NuGet 包,而是使用来自 Github 的最新 googletest/googlemock 版本的本地构建。那我该怎么做呢?
首先使用 NuGet 包管理器从项目中删除 NuGet-Package。
然后将 googletest 安装目录的路径包含到项目中:在 VC++ Directories at Include Directories 添加googletest 安装目录 \include 并在 库目录 添加 googletest 安装目录 \lib。最后在 Linker 在 Input 添加 gtestd.lib 和 gmockd.lib 到 附加依赖项.
在我的例子中,我还必须将 C/C++ 代码生成运行时库从 MDd 更改为 MTd。