VScode跑gtest

可能得前置步骤

VScode安装cpp:

安装 C/C++ 扩展:打开 VSCode 扩展市场,搜索「C/C++」并安装扩展。

安装编译gtest

安装 Google Test:

  • 如果你使用的是 Windows,可以下载并安装 pre-built 版本;
  • 如果你使用的是 Linux 或 macOS,可以使用命令行安装:
bash 复制代码
# ubuntu/Debian安装源码
sudo apt-get install libgtest-dev
# 编译安装
# 学习brpc过程中发现有一条命令的版本
sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/ && cd -
# cd /usr/src/gtest
# sudo mkdir build
# cd build
# sudo cmake ..
# sudo make
# # 复制库目录
# sudo cp libgtest*.a /usr/local/lib

# mac
# brew install gtest

测试使用

创建测试代码:新建一个 C++ 文件,并写入测试代码,例如:

cpp 复制代码
#include <gtest/gtest.h>

TEST(TestCaseName, TestName) {
  EXPECT_EQ(1, 1);
}

int main(int argc, char** argv) {
  ::testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

直接命令使用

bash 复制代码
 ⚡ 07/12|11:30:32  test  /usr/bin/g++ -fdiagnostics-color=always -g /root/code/test/tmp.cpp -o /root/code/test/tmp -lgtest -lpthread
 ⚡ 07/12|11:34:42  test  ./tmp 
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestCaseName
[ RUN      ] TestCaseName.TestName
[       OK ] TestCaseName.TestName (0 ms)
[----------] 1 test from TestCaseName (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.

通过VScode使用

在 VSCode 中运行单元测试:打开命令面板(Ctrl+Shift+P),输入Debug: Start Without Debugging:

  1. 然后生成一个 task.json
  2. 需要修改添加args -lgtest,以及gtest的依赖库 -lpthread
  3. 然后再次Debug: Start Without Debugging才能运行成功

json最终形态

json 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "-lgtest",
                "-lpthread"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

更多

ARST打卡第219周[219/521]
gtest 官方文档

相关推荐
心足1 小时前
我喜欢的vscode几个插件和主题
ide·vscode·编辑器
suoxiao7772 小时前
通过anaconda安装jupyter
ide·python·jupyter
程序员阿鹏2 小时前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea
半青年14 小时前
华为鸿蒙电脑能否作为开发机?开发非鸿蒙应用?
ide·华为·编辑器·电脑·idea·harmonyos·visual studio
SweerItTer17 小时前
由镜像源配置错误导致的软件包依赖问题
linux·vscode·ubuntu
海染棠花18 小时前
vscode+platformIO开发STM32(八)
ide·vscode·stm32
公子无缘19 小时前
【嵌入式】记一次解决VScode+PlatformIO安装卡死的经历
vscode·stm32·单片机·mcu·platformio
struggle202519 小时前
continue通过我们的开源 IDE 扩展和模型、规则、提示、文档和其他构建块中心,创建、共享和使用自定义 AI 代码助手
javascript·ide·python·typescript·开源
安装虚拟机的老师傅20 小时前
【2025最新】Windows系统装VSCode搭建C/C++开发环境(附带所有安装包)
c语言·windows·vscode·其他
潮流coder1 天前
IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
java·ide·intellij-idea