次の表は、テスト スイートおよびそれに含まれるテスト ケースの登録に使用できるマクロの説明です。
マクロ | 説明 |
---|
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)
| テスト スイートのソース コードでこのマクロを使用すると、そのテスト スイートはテスト実行可能ファイルがビルドされるときに指定したソース ファイルの最後に追加されます。 |