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

マクロ説明
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/C++test 実行時問題レポートから取得できます。たとえば、テスト ケース "test_0" がタイムアウトを引き起こす場合、C/C++test は次のエラーをユーザーにレポートします。 Timeout (5 seconds) reached. Test interrupted.

[CPPTEST_TIMEOUT]. これが特定の事前条件について期待される動作であり、このテスト ケースを回帰テストとして残したい場合は、デフォルトのテスト ケース登録行を

  CPPTEST_TEST(test_0);

から

  CPPTEST_TEST_ERROR(test_0, CPPTEST_TIMEOUT); に変更します。

このように変更すると、C/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(tested Source)テスト スイートのソース コードでこのマクロを使用すると、そのテスト スイートはテスト実行可能ファイルがビルドされるときに指定したソース ファイルの最後に追加されます。
  • No labels