👨‍💻

Visual Studio 2022 GoogleTestを使ってみた

2024/11/24に公開

テストするプログラム

シナリオは電卓アプリの開発です。
この例は2つの値を足す機能を追加したのでそのコードの確認を行ってみます。

環境

OS Windows11
IDE(統合開発環境) Visual Studio 2022

https://learn.microsoft.com/ja-jp/visualstudio/test/how-to-use-google-test-for-cpp?view=vs-2022
Microsoft Visual Studio で C++ 用の Google Test を使用する

新しいプロジェクト作り方(初心者向け)

  1. 空のプロジェクトを選択する。
  2. プロジェクト名を決める。
  3. 画面右側のソリューションエクスプローラーのソースファイルを右クリックして、.h, .cppを作成してコードを書く。

テストするコード

  • 電卓クラスのヘッター
calculator.h
#pragma once
class calculator
{
public:
	calculator();
	~calculator();

	int add(int a, int b);
};
  • 電卓クラスのコード
    2つの値を足すcalculator::add(int a, int b)をテストします。
calculator.cpp
#include "calculator.h"

calculator::calculator()
{

}

calculator::~calculator()
{

}

int calculator::add(int a, int b)
{
	return a + b;
}
  • mainのコード
    電卓クラスのaddを使うコードです。
main.cpp
#include <iostream>
#include"calculator.h"

int main()
{
	calculator cal;
	std::cout << cal.add(1, 2) << std::endl;

	return 0;
}

Google Testを別プロジェクトとして追加する

  1. ソリューションを右クリック。
  2. 追加→新しいプロジェクトをクリック。
  3. Google Testを選択して次へ。
  4. テスト名を入力して作成する。
  5. テスト プロジェクトの構成を設定
  6. 追加できたか確認。

テストコードを書く

  1. テストしたいヘッダーファイル(../CalculatorApp/calculator.h)をインストールする。
    ファイルの場所が違うので相対パスで指定する。
  2. テストしたいコード(EXPECT_EQ(cal.add(1, 2), 3);)を書く。

https://google.github.io/googletest/reference/assertions.html#EXPECT_EQ:~:text=caused by rounding.-,EXPECT_EQ,-EXPECT_EQ
GoogleTest EXPECT_EQ(引数1と引数2がイコールか確認する)

test.cpp
#include "pch.h"
#include "../CalculatorApp/calculator.h"

TEST(TestCaseName, TestName) {
  EXPECT_EQ(1, 1);
  EXPECT_TRUE(true);
}

TEST(addCaseTest1, addTest)
{
	calculator cal;
	EXPECT_EQ(cal.add(1, 2), 3);
}

Visual Studioの設定を変更してGoogle Testが実行できるようにする

選択されているコードを実行できるようにする

このままの設定で実行ボタンを押してもmain()が実行されるので設定を変更する。

  1. ローカルWindowsデバッガーの▽をクリックする。
  2. ①スターアッププロジェクトの構築...をクリックする。
  3. ②現在の選択範囲を選択する。

  1. この設定により、現在選択されているコードのプロジェクトが実行できるようになる。
    画像ではプロジェクト(calculator-Test1)のコード(test.cpp)が選択されているのでGoogle Testが実行される。

リンカーの設定をする

リンカーを設定しないで実行することはできないので、実行ボタンを押すと以下のようにエラーとなる。

  1. test.cpp(calculator-Test1)のコードを表示している状態でプロジェクト→プロパティをクリックする。

  2. ①入力をクリックして、追加の依存ファイルを編集する。

  3. パスを設定してOKをクリックする。

  4. 実行してみる。できました!

Visual Studioのテスト エクスプローラーを使ってみる

Visual Studioにはテスト エクスプローラーというものがあり、テストの実行画面を見やすくすることができる。

  1. テストからテスト エクスプローラーをクリックする。

  2. 実行ボタンをクリックして実行する。

Discussion