Visual Studioで単体テスト

visual-studio-unit-test.png

マネージテストプロジェクト

マネージコードとはCLIを使ったもののことです。CLI(.NetFramework)を使うならこっち。

ネイティブ単体テストプロジェクト

こっちはCLIじゃないやつです。普通のC++やWin32APIもいけます

今回はネイティブ単体テストプロジェクトの方で進めていきたいと思います

プロジェクト立ち上げ後

最初にある程度ソースコードが書かれています
#include "stdafx.h"
#include "CppUnitTest.h"
 
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
 
namespace UnitTest1
{        
    TEST_CLASS(UnitTest1)
    {
    public:
 
        TEST_METHOD(TestMethod1)
        {
            // TODO: テスト コードをここに挿入します
        }
 
    };
}

プロジェクト構成はこんなかんじに
unitttest.png

「//TODO+ テストコードをここに挿入します」 になにを書けばよいのか?

MSDNのページ[1]の解説によると

 Assert::AreEqual(expectedValue, actualValue, L"message", LINE_INFO());

こういうAssert文を書けみたいに書いてありました
ためしにわざと失敗するテストを書いてみます
int expectedValue=1;
int actualValue=2;
Assert::AreEqual(expectedValue, actualValue, L"message", LINE_INFO());

これで上のメニューバーのテストすべてのテストを実施で実行すると、
左のほうに失敗したテスト結果が出ました
failedtest.png

unit-test visual-studio

サポートサイト Wikidot.com unit-testvisual-studio