サンプルテストを実行してデバッグしたい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
- クリーンなディレクトリから始めます:
/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
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
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();
}
後はテストを実行するだけです。テストを実行する方法は複数あります。
ターミナルで、次build/
のディレクトリを作成しますcpp/
:
mkdir build
ディレクトリは次のようになります。
└─cpp/
├─ build/
├─ googletest/
├─ CMakeLists.txt
├─ myfunctions.h
└─ mytests.cpp
次にbuild
ディレクトリに移動します:
cd build
次に以下を実行します:
cmake ..
make
./mytests
別の方法:
- インストール
CMake Tools
VS Code の拡張機能 - 下のバーには、現在のターゲット(角括弧内)が表示されます。ビルド [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" }
- 下部のバーのボタンからビルドして実行します