次の表は、テスト スイートおよびそれに含まれるテスト ケースの登録に使用できるマクロの説明です。
 

マクロ

説明

CPPTEST_TEST_SUITE(TestSuiteName)

テスト スイート定義のテスト ケース登録セクションを開始します。

CPPTEST_TEST_SUITE_END()

テスト スイート定義のテスト ケース登録セクションを終了します。

CPPTEST_TEST(testCaseName)

デフォルトのテスト ケースを登録します。

CPPTEST_TEST_EXCEPTION(testcasename, ExceptionType)

例外のスローを期待されるテスト ケースを登録します。ExceptionType で例外の種類を指定します。これは catch 句中での例外の宣言として使用されるため、「...」を指定することによって、任意の例外のスローをテスト ケースが期待されていることを表現できます。

CPPTEST_TEST_ERROR(testcasename, ErrorCode)

実行時エラーを引き起こすことを期待されるテスト ケースを登録します。たとえばゼロによる除算、アクセス違反、タイムアウト、exit() 関数の呼び出しなどです。マクロの ErrorCode は、C++test 実行時問題レポートから取得できます。たとえば、テスト ケース "test_0" がタイムアウトを引き起こす場合、C++test は次のエラーをユーザーにレポートします。
Timeout (5 seconds) reached. Test interrupted. [CPPTEST_TIMEOUT].  
これが特定の事前条件について期待される動作であり、このテスト ケースを回帰テストとして残したい場合は、デフォルトのテスト ケース登録行を
CPPTEST_TEST(test_0);
から
CPPTEST_TEST_ERROR(test_0, CPPTEST_TIMEOUT);
に変更します。
このように変更すると、C++test はテスト ケース "test_0" の期待される結果としてタイムアウトを期待します。

CPPTEST_TEST_FAIL(testCaseName)

テスト ケースが何らかの理由で失敗することを指定します。たとえば、例外、タイムアウト、アサーションの失敗といった理由です。このマクロは具体的な失敗の理由を指定できないため、可能な限り CPPTEST_TEST_ERROR() または CPPTEST_TEST_EXCEPTION() を使うことを推奨します。

CPPTEST_TEST_DS(testCaseName, dsDefinition)

データ ソースのデータを使用するテスト ケースを登録します。データ ソースを定義するには以下のマクロを使用します。
CPPTEST_DS(dsName) - 指定した名前のマネージド データ ソースを使用します。
CPPTEST_DS_ARRAY(ARRAY_NAME, ROW, COLUMN) - ARRAY_NAME をデータ ソースとして使用します。ARRAY_NAME はソース コード中で const char* ARRAY_NAME[ROW][COLUMN] として定義されていなければなりません。配列の 1 行目は列名でなければなりません。テスト ケースは (ROW - 1) 回実行されます。
CPPTEST_DS_CSV(FILE_NAME, SEPARATOR, HAS_HEADER, TRIM) - カンマ区切り値ファイルのデータを使用します。マクロのパラメーターは以下のとおりです。
FILE_NAME  - データ ソースがあるデータ ソース ファイルの名前。絶対パスでも相対パスでも指定できます。 注意 !    相対パスで指定する場合、このパスはテスト用実行モジュールの作業ディレクトリからの相対になります。作業ディレクトリはテスト コンフィギュレーションの [実行] > [実行時] タブの [テスト用実行モジュールの実行ディレクトリ] フィールドで指定できます。
SEPARATOR  - フィールド区切り子。 カンマなどの文字定数を指定する必要があります。
HAS_HEADER - データの 1 行目がヘッダーの場合、1 に設定します。ヘッダーがない場合、0 に設定します。 注意 !    CSV ファイルにヘッダーがない場合、列名は 0 から開始する序数になります。
TRIM - 値の前または後のスペースを削除する場合、1 に設定します。削除しない場合、 0 に設定します。
CPPTEST_DS_REPEAT(NUMBER) - テスト ケースは NUMBER 回実行されます。

CPPTEST_TEST_DISABLED(testcasename)

無効化されたテスト ケースを登録します。テスト ケースは実行されません。

CPPTEST_TEST_EXCEPTION_DISABLED(testcasename, ExceptionType)

無効化されたテスト ケースを登録します。テスト ケースは実行されません。

CPPTEST_TEST_ERROR_DISABLED(testcasename, ErrorCode)

無効化されたテスト ケースを登録します。テスト ケースは実行されません。

CPPTEST_TEST_FAIL_DISABLED(testcasename)

無効化されたテスト ケースを登録します。テスト ケースは実行されません。

CPPTEST_TEST_SUITE_REGISTRATION(TestSuiteName)

実行するテスト スイートを登録します。テスト スイートのソース ファイルに置く必要があります。

CPPTEST_CONTEXT(testedFile)

テスト スイートのソース コードでこのマクロを使用すると、そのテスト スイートは指定したソース ファイルまたはヘッダー ファイルをテストするものであることが示されます。

CPPTEST_TEST_SUITE_INCLUDED_TO(testedSource)

テスト スイートのソース コードでこのマクロを使用すると、そのテスト スイートはテスト実行可能ファイルがビルドされるときに指定したソース ファイルの最後に追加されます。

  • No labels