C言語用の単体試験ツールです。
実際のテスト用コードで説明します。
// ILUT.h をインクルードします
#include “ILUT.h”
// ILUT_Test型のテストを用意します
// ILUT_Testの実態はChar*型です
ILUT_Test test_add (
)
{
/**/
/**/
// ILUT_ASSERT でテストを書きます
// テスト部分は通常のassert(3)と同じです
ILUT_ASSERT( "正・正", add(3,4) == 7 );
ILUT_ASSERT( "正・負", add(3, -4) == -1 );
・・・
// すべてのテストが無事終了した場合は ILUT_SUCCESS を返します
return ILUT_SUCCESS;
}
ILUT_Test test_foo(
)
{
/**/
/**/
if ( 0 ) {
// 到達したらエラーにする場合は、 ILUT_FAIL を使います
ILUT_FAIL("ここには到達しない");
}
return ILUT_SUCCESS;
{
int main(
int argc,
char** argv
)
{
/**/
// ILUT_TestCase型の配列に、上で記述した試験用関数を定義していきます
// 最後はかならずTestCaseEndを定義します
static ILUT_TestCase test[] = {
DEF_TEST(test_add),
DEF_TEST(test_foo,
TestCaseEnd
}
/**/
// ILUT_RunTestで定義した試験を実施します。正常であれば0が返ります
return ILUT_RunTest( test );
} ILUT.o をテスト用のオブジェクトとリンクしてください。
sample ディレクトリにテストのサンプルがあります。
定義済みのテストを実行する。
ILUT_TestCase*- 定義したテストの配列
- テスト結果
- 0: 全テスト合格
- 1: テスト不合格
テストログを出力する。
ILUT_MODE- ログ出力モード
ILUT_MODE_NONE: 表示しないILUT_MODE_SHOW: テストケース名を表示ILUT_MODE_DETAIL: テストケース + Assertionを表示
const char*- 出力フォーマット。形式は
printf(3)と同様
- 出力フォーマット。形式は
...- 出力内容。形式は
printf(3)と同様
- 出力内容。形式は
なし
ログ出力先を設定する。
FILE*- 出力先
なし
テスト結果を独自形式のフォーマットで出力する。
これで出力した結果は、ilut2xml.awkを使用してXML形式に変換できる。
FILE*- 出力先
const char*- テストケース名(テスト対象の関数名など)
const ILUT_TestCase*- ILUT_RunTestで実施済みのテストケース
なし
想定した結果であることを確認する。
const char*- メッセージ(テスト内容など)
boolean- テスト。
assert(3)と同様
- テスト。
なし
テストを失敗させる。
fopen 失敗などテストの前提条件が崩れた際などに使用する。
const char*- メッセージ
なし
Copyright © 2008 tamura shingo Licensed under the MIT License.