最近需要google test测试程序
1.下载地址 https://github.com/google/googletest
官方文档
使用 CMake 构建
GoogleTest 附带一个 CMake 构建脚本(CMakeLists.txt),可以在各种平台上使用("C" 代表跨平台)。如果您还没有安装 CMake,可以从 https://cmake.org/ 免费下载。
CMake 的工作原理是生成本地的 makefile 或构建项目,这些可以在您选择的编译器环境中使用。您可以将 GoogleTest 作为独立项目构建,也可以将其集成到其他项目的现有 CMake 构建中。
独立 CMake 项目
当将 GoogleTest 作为独立项目构建时,典型的工作流程如下:
bash
git clone https://github.com/google/googletest.git -b v1.15.2
cd googletest # 克隆仓库的主目录
mkdir build # 创建一个目录以存放构建输出
cd build
cmake .. # 为 GoogleTest 生成本地构建脚本
上述命令默认还包括 GoogleMock。因此,如果您只想构建 GoogleTest,您应该将最后一条命令替换为:
bash
cmake .. -DBUILD_GMOCK=OFF
如果您在 *nix 系统上,您现在应该会在当前目录中看到一个 Makefile。只需输入 make
来构建 GoogleTest。然后,如果您是系统管理员,可以简单地安装 GoogleTest。
bash
make
sudo make install # 默认安装在 /usr/local/
如果您使用 Windows 并且安装了 Visual Studio,将会创建一个 gtest.sln
文件和几个 .vcproj
文件。然后,您可以使用 Visual
Studio 来构建它们。
实操
在windows上使用mingw构建
使用 MinGW 编译 Google Test 的步骤:
bash
git clone https://github.com/google/googletest.git
cd googletest
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make
mingw-cmake
生成的.a文件,使用g++编译选项-L "to/your/google" -lgtest -lgtest_main,指定即可
示例:
bash
g++ test.cpp -I "./include" -L "./lib" -lgtest -lgtest_main -o test.exe
这将生成适用于 MinGW 的 Google Test 库。
在windows上使用Virtual Studio构建
使用 MSVC 编译您的项目:
bash
#
git clone https://github.com/google/googletest.git
cd googletest
rm -rf build
mkdir build
cd build
cmake ..
之后再googletest目录下面双击ALL打开vs 2019,选择 Release/Debug右键项目,生成,就会得到编译库文件
tasks.json文件
bash
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"preLaunchTask": "test_build",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:/Software/DevTools/mingw64/bin/gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
launch.json文件
bash
{
"tasks": [
{
"type": "cppbuild",
"label": "test_build",
"command": "D:\\Software\\DevTools\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
//"${fileDirname}\\gtest_main.cpp",
"-I",
"${workspaceFolder}\\include",
"-I",
"${workspaceFolder}\\deps\\limonp\\include",
"-L",
"E:\\Disk\\Work\\CodeBase\\VisualStudioProjects\\googletest\\build\\lib",
"-lgtest",
"-lgtest_main",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}