![]() |
![]() |
![]() |
Cutterリファレンスマニュアル | ![]() |
---|
READMEREADME |
CのためのUnit Testing Frameworkです。
Cutterの特徴は以下の通りです。
テストが簡単に書ける
出力結果がデバッグに使いやすい
テストを共有ライブラリとしてビルドする
<URL:http://sourceforge.net/project/showfiles.php?group_id=208375>
% svn co https://cutter.svn.sourceforge.net/svnroot/cutter/trunk cutter
% cutter [オプション] [libtest_*.soがあるディレクトリ]
テストが失敗した場合にファイル名の前にDIRECTORYを付加しま す。Cutterの出力からテストが失敗した箇所にジャンプするツー ル(Emacsなど)と連携するための機能です。
TEST_CASE_NAME1、TEST_CASE_NAME2のどれかにマッチしたテス トケースを実行します。もし、TEST_CASE_NAMEが"/"で囲まれて いた場合は(例: /test_/)正規表現として扱います。
TEST_NAME1、TEST_NAME2のどれかにマッチしたテストを実行し ます。もし、TEST_NAMEが"/"で囲まれていた場合は(例: /test_/)正規表現として扱います。
各テストケースを新しいスレッドで実行します。
すべての利用可能なUIを表示し、終了します。
UIを指定します。デフォルトはコンソールUIです。
出力の詳細さを指定します。
このオプションはコンソールUIを使用する場合だけ有効です。
yesまたはtrueが指定された場合はCutterはエスケープシーケン スで色付けして出力します。noまたはfalseが指定された場合は 色付けしません。autoあるいは値が省略された時は、可能なら 色付けをします。
このオプションはコンソールUIを使用する場合だけ有効です。
テストの実行は以下のような流れになります.
テストを作成する
コンパイルし、libtest_*.soを作成する
cutterを起動し、libtest_*.soを読み込ませ、テストをする
詳しくはTUTORIAL.jaとsample/stack/を参考にしてください。
テストの雛型は以下のようになります.
#include <cutter.h> #include "自分のプログラムのヘッダファイル" void test_condition(void); void test_strstr(void); static int condition = 0; void setup (void) { /* 初期化用コード */ condition = 1; } void teardown (void) { /* 後片付け用コード */ condition = 0; } void test_condition(void) { cut_assert_equal_int(1, condition, "conditionの値はsetup()で1に設定されているはず"); ... } void test_strstr(void) { cut_assert_equal_string("sub-string", strstr("string sub-string", "sub")); ... }