VS2019集成googleTest

1. googleTest源码下载

CMake安装:https://cmake.org/download/ 使用版本:cmake-3.21.2-windows

Vs2019社区版安装:https://visualstudio.microsoft.com/zh-hans/vs/

GTest下载地址:https://github.com/google/googletest

2. 编译googleTest库文件

(1)打开cmake-gui软件,填写如下配置

  • where is the source code定位到CMakeLists.txt文件目录

  • where to build the binaries定位到构建Vs项目的输出build目录

(2)点击configure,填写配置

  • specify the generator for this project指定编译器版本Visual Studio 16 2019

  • optional platform for generator指定编译器架构win32/x64/arm

(3)点击Grouped,分别选择安装INSTALL_GTEST,BUILD_CMOKE,BUILD_SHARED_LIBS组件,点击Generate生成项目文件

(4)填写CMAKE_INSTALL_PREFIX设置安装目录,例如D:\Lenovo\googleTest

(5)以管理员身份在build目录打开生成的Vs2019 项目文件googleTest-distribution.sln

(6)动态库与静态库生成,CMake构建出的工程默认生成静态库,如果需要生成动态库可以勾选BUILD_SHARED_LIBS或者可将gtest,gtest_main,gmock,gmock_main配置如下:

【配置属性-常规-配置类型】静态库(.lib)

【配置属性-高级-目标文件扩展名】.lib

【C/C++-代码生成-运行库】多线程调试DLL(/MTd)

(7)点击ALL_BUILD去生成GTest库文件,点击INSTALL去安装GTest到指定目录

注意事项:安装时遇到错误:error MSB3073: 命令“setlocal”,可能解决办法

  • 由于在CMake GUI中CMAKE_INSTALL_PREFIX指定为C盘目录,所以install编译生成时需要权限。此时需要以管理员身份运行Vs即可。

  • cmake时,设置的build目录不对的原因。如在源码(CMakelist.txt所在目录)主目录的外侧,新建了build的目录。而不是在主目录下新建build目录

  • PDB文件生成的命名修改【属性-C/C++-所有选项-程序数据库文件名】进行修改

3. 集成googleTest库文件

(1)安装GTest插件

由于Vs自带的GTest版本太旧,会出现一些无法识别的问题,因此在【扩展-管理扩展-已安装】禁用【适用于Google Test的测试适配器】,在【扩展-管理扩展-联机】安装【Google Test Adapter】

(2)重启Vs2019项目

(3)新建空项目account,在【项目属性-常规-配置类型】选择静态库(.lib),编写项目文件

(4)新建测试项目account_test,在【项目属性-常规-配置类型】选择可执行程序(.exe),编写gtest测试用例,注意测试用例中不要出现system(pause),否侧Vs2019测试资源管理器将无法识别测试用例

(5)打开account_test项目文件,在配置属性

  • C/C++:附加包含目录添加GoogleTest的include目录,例如【D:\Lenovo\googleTest\include】

  • 链接器:附加库目录添加GoogleTest的lib目录,例如【D:\Lenovo\googleTest\lib】

  • 链接器:输入->附加依赖项添加GoogleTest库文件,例如【gtestd.lib】

  • 将【D:\Lenovo\googleTest\include】目录下gtest.dll复制到可执行程序account_test.exe目录下

(6)在Google Test Adapter中配置如下:

  • Google Test Adapter-Test Discovery-Regex Test for Discovery填入测试项目文件名account_test.exe

  • Google Test Adapter-Test Execution-Path extension填入account_test所在目录路径

  • Google Test Adapter-Test Execution-Working directory填入account_test所在目录路径

posted @ 2022-09-12 14:44  Jeapwu  阅读(767)  评论(0)    收藏  举报