C++に単体テストフレームワークであるGoogleTestがあるので試してみることにしました。
MSDNに記事があるからそれでいいんじゃん、なのですが、つまづいたのでメモです。
環境
- Visual Studio 2019
手順
Consoleアプリケーションのプロジェクトを作成します。
C++はヘッダーとソースを分けて宣言しますが、今回は面倒なのでヘッダーにinlineで宣言します。
Calculator.h
#pragma once inline int add(int a, int b) { return 0; // わざと失敗させるため }
さらにGoogleTestプロジェクトを作成します。
ここでスタティックライブラリのままにすることを私は勧めます。
というのもダイナミックライブラリにするとビルドが失敗したのです。
デフォルトでtest.cppというファイルが生成されているので、これを書き換えます。
#include "pch.h" // 相対パスでinclude #include "../ConsoleApplication/Calculation.h" TEST(Calculation, add) { EXPECT_EQ(5, add(2,3)); }
で、テストを実行させます。
失敗しましたね。
わざと、addの返り値を0にしていたので、これを正しく修正します。
#pragma once inline int add(int a, int b) { return a + b; }
テストに成功しました。
文法は?
公式サイトに記載されています。
英語ですが、何かしらの単体テストフレームワークに触っていれば、なんとなくつかめるかと。