1. 環境の準備
- バージョンの一致に注意してください。私のローカル バージョンは g++ 8.1.0 です。最初、GoogleTest の最新バージョン 1.10.0 をインストールしましたが、使用できないことがわかり、古いバージョンをダウンロードしに戻りました。
- g++ 8.1.0 は、Google Test のバージョン 1.8.1 で動作するはずです。
Github ダウンロード アドレス: 、通常は最初のもので十分です。
2.CLionでプロジェクトを作成する
-
プロジェクトが作成され、テストを実行できるようになります。
-
CMakeLists.txt ファイルを変更する
# CMakeLists.txt
# 本项目的Cmake配置
cmake_minimum_required(VERSION 3.16)
project(MyProject)
# 1、设置 Google Tesk 的版本号,头文件路径,链接库路径
set(GTEST_VERSION 1.10.0)
add_subdirectory(googletest)
include_directories(googletest/include)
# 2、设置 Google Mock 的路径,头文件路径,链接库路径
set(GMOCK_DIR googletest/googlemock)
include_directories(${GMOCK_DIR}/include)
link_directories(${GMOCK_DIR}/build)
# 3、将测试代码添加到可执行文件中
add_executable(MyTest main.cpp q.cc q.h)
# 4、链接 googletest 库
target_link_libraries(MyTest gtest gtest_main)
# 5、链接 Google Mock 的链接库
target_link_libraries(MyTest gmock gmock_main)
- 次に、現在のディレクトリに新しい googletest フォルダーを作成し、ダウンロードした圧縮パッケージをそのフォルダーに解凍します。
3. テストケースを書く
ここのコードに注目してください。
# 3、将测试代码添加到可执行文件中
add_executable(MyTest main.cpp q.cc q.h)
main.cpp、これがテストフレームワークです。
#include <gtest/gtest.h>
TEST(HelloTest, BasicAssertions) {
EXPECT_STRNE("hello", "world");
EXPECT_EQ(7 * 6, 42);
}
q.cc、テストするコードは次のとおりです
#include "add.h"
int add(int n1,int n2)
{
return n1+n2;
}
ああ、これがテストするコードの関数宣言です
//
// Created by gwj11 on 2023/6/25.
//
#ifndef MYPROJECT_ADD_H
#define MYPROJECT_ADD_H
int add(int n1,int n2);
#endif //MYPROJECT_ADD_H
このようにして、main.cpp に戻って実行できます。
4. 複雑なテストケース
-
github からダウンロードした以下のような 4 点セットも使用できます
-
悪いテストの例。ジャンプして特定のエラー箇所を表示できます。
-
合格例