より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Visual Studio 2019 + GoogleTestを試す

C++単体テストフレームワークであるGoogleTestがあるので試してみることにしました。

github.com

MSDNに記事があるからそれでいいんじゃん、なのですが、つまづいたのでメモです。

docs.microsoft.com

環境

手順

Consoleアプリケーションのプロジェクトを作成します。

C++はヘッダーとソースを分けて宣言しますが、今回は面倒なのでヘッダーにinlineで宣言します。

Calculator.h

#pragma once

inline int add(int a, int b)
{
    return 0; // わざと失敗させるため
}

さらにGoogleTestプロジェクトを作成します。

f:id:rimever:20190707211109p:plain

f:id:rimever:20190707211128p:plain
スタティックライブラリのまま。テスト対象プロジェクトを選択

ここでスタティックライブラリのままにすることを私は勧めます。

というのもダイナミックライブラリにするとビルドが失敗したのです。

デフォルトでtest.cppというファイルが生成されているので、これを書き換えます。

#include "pch.h"
// 相対パスでinclude
#include "../ConsoleApplication/Calculation.h"

TEST(Calculation, add) {
  EXPECT_EQ(5, add(2,3));
}

で、テストを実行させます。

f:id:rimever:20190707211844p:plain

失敗しましたね。

わざと、addの返り値を0にしていたので、これを正しく修正します。

#pragma once

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

テストに成功しました。

f:id:rimever:20190707211918p:plain

文法は?

公式サイトに記載されています。

英語ですが、何かしらの単体テストフレームワークに触っていれば、なんとなくつかめるかと。

github.com

参考サイト

Visual StudioでC++のGoogle Testを使ってみた - Qiita