如何在 VS Code 中运行测试和调试 Google Test 项目? [英] How to run tests and debug Google Test project in VS Code?

查看:148
本文介绍了如何在 VS Code 中运行测试和调试 Google Test 项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想运行示例测试并调试


自行构建 Google 测试

使用终端:

  1. 进入目录 /home/user/Desktop/projects/cpp/googletest
  2. 在其中创建 build/ 使其看起来如下所示:

└─cpp/googletest/├─ 建造/├─ ...其他googletest文件

  1. cd build
  2. 运行:cmake -Dgtest_build_samples=ON -DCMAKE_BUILD_TYPE=Debug ..
  3. make -j4
  4. ./googletest/sample1_unittest

使用 VS 代码

  1. 在 VS Code 中打开 googletest 文件夹
  2. CMake 扩展会提示配置,允许它
  3. 您将看到一个 .vscode 目录.里面是 settings.json 文件,打开它,并添加以下内容:

 "cmake.configureSettings": { "gtest_build_samples": "ON";}

  1. 从底部栏中的按钮构建和运行

I want to run the sample tests and debug the Google Test project. I am using VS Code on Ubuntu 16.04 LTS.

  • I cloned the project locally at /home/user/Desktop/projects/cpp/googletest,
  • created a new directory called mybuild at /home/user/Desktop/projects/cpp/mybuild.
  • According to the README instructions here: https://github.com/google/googletest/tree/master/googletest I used the command, cmake -Dgtest_build_samples=ON /home/user/Desktop/projects/cpp/googletest to build the project and this generated a bunch of files and apparently the build succeeded.

Now, I have 2 problems:

  1. How do I run the sample tests for the project?

  2. How do I debug these test and the source code for the project?

解决方案

  1. Start with a clean directory:

/home/user/Desktop/projects/cpp/ # your project lives here

  1. Add your cmake file(CMakeLists.txt), your source files, and test file. The directory now looks like this:

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

  1. Clone and add googletest to this directory:

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

  1. Open your CMakeLists.txt and enter the following:

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. Contents of myfunctions.h for the example:

#ifndef _ADD_H
#define _ADD_H

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

#endif

  1. Contents of mytests.cpp for the example:

#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();
}

Now you just have to run the tests. There are multiple ways to do that.

In the terminal, create a build/ dir in cpp/:

mkdir build

Your directory should now look like this:

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

Next go into the build directory:

cd build

Then run:

cmake ..
make
./mytests

Alternative way:

  • Install the CMake Tools extension for VS Code
  • In the bottom bar, you can see the current target (in square brackets Build [mytest] and Run [mytest])you want to build / run:
  • Then just click the run button.


Building Google test itself

Using terminal:

  1. Go into the dir /home/user/Desktop/projects/cpp/googletest
  2. Create build/ inside it so that it looks like following:

└─cpp/googletest/
    ├─ build/
    ├─ ...other googletest files

  1. cd build
  2. Run: cmake -Dgtest_build_samples=ON -DCMAKE_BUILD_TYPE=Debug ..
  3. make -j4
  4. ./googletest/sample1_unittest

Using VS-Code

  1. Open the googletest folder into VS Code
  2. CMake extension will prompt for configuration, allow it
  3. You will see a .vscode directory. Inside it is settings.json file, open it, and add the following to it:

    "cmake.configureSettings": { "gtest_build_samples": "ON" }

  1. Build and run from the buttons in the bottom bar

这篇关于如何在 VS Code 中运行测试和调试 Google Test 项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆