VS Code でテストを実行し、Google Test プロジェクトをデバッグするにはどうすればよいでしょうか? 質問する

VS Code でテストを実行し、Google Test プロジェクトをデバッグするにはどうすればよいでしょうか? 質問する

サンプルテストを実行してデバッグしたいGoogle テスト プロジェクトUbuntu 16.04 LTS で VS Code を使用しています。

  • 私はプロジェクトをローカルにクローンしました/home/user/Desktop/projects/cpp/googletest
  • mybuildという新しいディレクトリを作成しました/home/user/Desktop/projects/cpp/mybuild
  • README の指示によると、次のようになります。参考:コマンドを使用してcmake -Dgtest_build_samples=ON /home/user/Desktop/projects/cpp/googletestプロジェクトをビルドしたところ、多数のファイルが生成され、ビルドは成功したようです。

今、私には2つの問題があります:

  1. プロジェクトのサンプル テストを実行するにはどうすればよいですか?

  2. これらのテストとプロジェクトのソース コードをデバッグするにはどうすればよいでしょうか?

ベストアンサー1

  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

enable_testing() #to  discover tests in test explorer 

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

include(GoogleTest)
gtest_discover_tests(mytests) # discovers tests by asking the compiled test executable to enumerate its tests
  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();
}

後はテストを実行するだけです。テストを実行する方法は複数あります。

ターミナルで、次build/のディレクトリを作成しますcpp/:

mkdir build

ディレクトリは次のようになります。

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

次にbuildディレクトリに移動します:

cd build

次に以下を実行します:

cmake ..
make
./mytests

別の方法:

  • インストールCMake ToolsVS Code の拡張機能
  • 下のバーには、現在のターゲット(角括弧内)が表示されます。ビルド [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. googletestVS Codeでフォルダを開く
  2. CMake拡張機能は設定を要求します。許可してください
  3. ディレクトリが表示されます.vscode。その中にsettings.jsonファイルがあるので、それを開いて、次の内容を追加します。
    "cmake.configureSettings": { "gtest_build_samples": "ON" }
  1. 下部のバーのボタンからビルドして実行します

おすすめ記事