ネタ元 → MSDN Magazine FEBRUARY 2008が公開されています。
大好物のUnitTestネタ: WinUnit: ネイティブ C++ アプリケーション用の簡略化された単体テスト
早速遊んでみたですよ。
ダウンロードし、WinUnitをbuildします。
WinUnit.exeと二本のヘッダ: WinUnit.h WinUnitLogger.h を
テケトーなとこに置きます。
--- お試し: MyTests.cpp
#include "WinUnit.h"
BEGIN_TEST(MyFailingTest)
{
WIN_ASSERT_TRUE(3 > 4);
}
END_TEST
BEGIN_TEST(MySucceedingTest)
{
WIN_ASSERT_TRUE(4 > 3);
}
END_TEST
テストケースを BEGIN_TEST(テスト名) と END_TEST でくるむだけね。
コンパイルし、DLLをこさえます。
cl -EHsc -LD MyTests.cpp
んでもって実行。
WinUnit MyTests.dll
Processing [MyTests.dll]...
(MyFailingTest)
MyTests.cpp(5): error : WIN_ASSERT_TRUE failed: "3 > 4".
FAILED: MyFailingTest.
(MySucceedingTest)
[MyTests.dll] FAILED. Tests run: 2; Failures: 1.
There were errors.
Tests run: 2; Failed: 1.
わーたのしー! お手軽ぅ♪
ライブラリもなーも要らんのがおちゃらかでぐっどです。
WinUnitはエラーコードを返すので makeやプロジェクトに埋め込んでおけまする。