如何在 VS Code 中 运行 测试和调试 Google 测试项目?
How to run tests and debug Google Test project in VS Code?
我想 运行 样本测试和调试 Google Test project。我在 Ubuntu 16.04 LTS 上使用 VS Code。
- 我在
/home/user/Desktop/projects/cpp/googletest
、 本地克隆了项目
- 在
/home/user/Desktop/projects/cpp/mybuild
创建了一个名为 mybuild
的新目录。
- 根据此处的 README 说明:https://github.com/google/googletest/tree/master/googletest 我使用命令
cmake -Dgtest_build_samples=ON /home/user/Desktop/projects/cpp/googletest
构建项目,这生成了一堆文件,显然构建成功了。
现在,我有两个问题:
如何运行项目的示例测试?
如何调试这些测试和项目的源代码?
- 从一个干净的目录开始:
/home/user/Desktop/projects/cpp/ # your project lives here
- 添加您的 cmake 文件 (CMakeLists.txt)、您的源文件和测试文件。该目录现在如下所示:
└─cpp/
├─ CMakeLists.txt
├─ myfunctions.h
└─ mytests.cpp
- 克隆并添加
googletest
到此目录:
└─cpp/
├─ googletest/
├─ CMakeLists.txt
├─ myfunctions.h
└─ mytests.cpp
- 打开您的
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
- 示例
myfunctions.h
的内容:
#ifndef _ADD_H
#define _ADD_H
int add(int a, int b)
{
return a + b;
}
#endif
- 示例
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测试自身
使用终端:
- 进入目录
/home/user/Desktop/projects/cpp/googletest
- 在其中创建
build/
,使其如下所示:
└─cpp/googletest/
├─ build/
├─ ...other googletest files
cd build
- 运行:
cmake -Dgtest_build_samples=ON -DCMAKE_BUILD_TYPE=Debug ..
make -j4
./googletest/sample1_unittest
使用 VS-Code
- 打开
googletest
文件夹到 VS Code
- CMake 扩展会提示配置,允许
- 您将看到一个
.vscode
目录。里面是 settings.json
文件,打开它,然后添加以下内容:
"cmake.configureSettings": { "gtest_build_samples": "ON" }
- 通过底部栏中的按钮构建和 运行
我想 运行 样本测试和调试 Google Test project。我在 Ubuntu 16.04 LTS 上使用 VS Code。
- 我在
/home/user/Desktop/projects/cpp/googletest
、 本地克隆了项目
- 在
/home/user/Desktop/projects/cpp/mybuild
创建了一个名为mybuild
的新目录。 - 根据此处的 README 说明:https://github.com/google/googletest/tree/master/googletest 我使用命令
cmake -Dgtest_build_samples=ON /home/user/Desktop/projects/cpp/googletest
构建项目,这生成了一堆文件,显然构建成功了。
现在,我有两个问题:
如何运行项目的示例测试?
如何调试这些测试和项目的源代码?
- 从一个干净的目录开始:
/home/user/Desktop/projects/cpp/ # your project lives here
- 添加您的 cmake 文件 (CMakeLists.txt)、您的源文件和测试文件。该目录现在如下所示:
└─cpp/
├─ CMakeLists.txt
├─ myfunctions.h
└─ mytests.cpp
- 克隆并添加
googletest
到此目录:
└─cpp/
├─ googletest/
├─ CMakeLists.txt
├─ myfunctions.h
└─ mytests.cpp
- 打开您的
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
- 示例
myfunctions.h
的内容:
#ifndef _ADD_H
#define _ADD_H
int add(int a, int b)
{
return a + b;
}
#endif
- 示例
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测试自身
使用终端:
- 进入目录
/home/user/Desktop/projects/cpp/googletest
- 在其中创建
build/
,使其如下所示:
└─cpp/googletest/
├─ build/
├─ ...other googletest files
cd build
- 运行:
cmake -Dgtest_build_samples=ON -DCMAKE_BUILD_TYPE=Debug ..
make -j4
./googletest/sample1_unittest
使用 VS-Code
- 打开
googletest
文件夹到 VS Code - CMake 扩展会提示配置,允许
- 您将看到一个
.vscode
目录。里面是settings.json
文件,打开它,然后添加以下内容:
"cmake.configureSettings": { "gtest_build_samples": "ON" }
- 通过底部栏中的按钮构建和 运行