如何在 VS Code 中 运行 测试和调试 Google 测试项目?

How to run tests and debug Google Test project in VS Code?

我想 运行 样本测试和调试 Google Test project。我在 Ubuntu 16.04 LTS 上使用 VS Code。

现在,我有两个问题:

  1. 如何运行项目的示例测试?

  2. 如何调试这些测试和项目的源代码?

  1. 从一个干净的目录开始:
/home/user/Desktop/projects/cpp/ # your project lives here
  1. 添加您的 cmake 文件 (CMakeLists.txt)、您的源文件和测试文件。该目录现在如下所示:
└─cpp/
    ├─ CMakeLists.txt
    ├─ myfunctions.h
    └─ mytests.cpp
  1. 克隆并添加 googletest 到此目录:
└─cpp/
    ├─ googletest/
    ├─ CMakeLists.txt
    ├─ myfunctions.h
    └─ mytests.cpp
  1. 打开您的 CMakeLists.txt 并输入以下内容:
cmake_minimum_required(VERSION 3.12) # version can be different

project(my_cpp_project) #name of your project

add_subdirectory(googletest) # add googletest subdirectory

include_directories(googletest/include) # this is so we can #include <gtest/gtest.h>

add_executable(mytests mytests.cpp) # add this executable

target_link_libraries(mytests PRIVATE gtest) # link google test to this executable
  1. 示例 myfunctions.h 的内容:
#ifndef _ADD_H
#define _ADD_H

int add(int a, int b)
{
    return a + b;
}

#endif
  1. 示例 mytests.cpp 的内容:
#include <gtest/gtest.h>
#include "myfunctions.h"

TEST(myfunctions, add)
{
    GTEST_ASSERT_EQ(add(10, 22), 32);
}

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

现在您只需 运行 测试即可。有多种方法可以做到这一点。

在终端中,在 cpp/ 中创建一个 build/ 目录:

mkdir build

您的目录现在应该如下所示:

└─cpp/
    ├─ build/
    ├─ googletest/
    ├─ CMakeLists.txt
    ├─ myfunctions.h
    └─ mytests.cpp

接下来进入build目录:

cd build

然后运行:

cmake ..
make
./mytests

替代方式:

  • 为 VS Code 安装 CMake Tools 扩展
  • 在底部栏中,您可以看到当前目标(方括号 Build [mytest]运行 [mytest])你要构建/运行:
  • 然后只需单击 运行 按钮。


构建Google测试自身

使用终端:

  1. 进入目录 /home/user/Desktop/projects/cpp/googletest
  2. 在其中创建 build/,使其如下所示:
└─cpp/googletest/
    ├─ build/
    ├─ ...other googletest files
  1. cd build
  2. 运行: cmake -Dgtest_build_samples=ON -DCMAKE_BUILD_TYPE=Debug ..
  3. make -j4
  4. ./googletest/sample1_unittest

使用 VS-Code

  1. 打开 googletest 文件夹到 VS Code
  2. CMake 扩展会提示配置,允许
  3. 您将看到一个 .vscode 目录。里面是 settings.json 文件,打开它,然后添加以下内容:
    "cmake.configureSettings": { "gtest_build_samples": "ON" }
  1. 通过底部栏中的按钮构建和 运行