このセクションでは、よくあるケースを取り上げて、例外の違反に対処する方法について説明します。
シナリオ 1: 開発者がソースを変更したため、プロジェクトをテストして「例外がない」状態にする必要がある
- 次のいずれかの操作を行います。
- プロジェクトがまだない場合、新規にプロジェクトを作成します。
- すでにプロジェクトがある場合、プロジェクトおよび関連するソース ファイルをソース管理システムからアップデートします。
- GUI からテストを生成して実行します。
- レポートされた例外をレビューします。そして、コードまたはテスト設定を修正します。スローされた例外が「期待される例外」である場合、テスト ケースを「検証済み」にします。
- テスト ケースを検証済みにするには、生成されたテスト クラス ファイルで次のアサーションを使用します。
// Asserts that given expression throws an exception of specified type CPPTEST_ASSERT_THROW(expression, ExceptionType)
// Asserts that given expression throws an exception of specified type CPPTEST_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)
- テスト ケースを検証済みにするには、生成されたテスト クラス ファイルで次のアサーションを使用します。
- 適切な回帰テスト コンフィギュレーションを実行してテストがパスするかどうかを検証します。
- このステップの終了基準は、古いテスト ケースがないこと、すべての関数が少なくとも 1 つのテスト ケースを持つこと、およびすべてのテスト ケースがパスすること (つまり、未検証の例外をスローしないこと) です。
- プロジェクトを保存します。
- プロジェクトおよび関連するテスト資産 (テスト ケースも含む) をソース管理システムにチェックインします。詳細については「ソース管理システムによるプロジェクトとテスト資産の共有」を参照してください。
シナリオ 2: コマンドラインから実行したテスト。レポートされた例外に開発者が対処する必要がある
- テスト結果のレポートをレビューし、例外が発生したプロジェクトを特定します。
- プロジェクトおよび関連するソース ファイルをソース管理システムからアップデートします。
- 予定されたコマンドライン回帰テストが使用するローカル ソースとコンフィギュレーションを使って、テスト ケースの失敗と例外を再現します。
- 予定された回帰テスト用のプロジェクトにアクセスできる場合、その設定を使って修正できます。
- レポートされた例外をレビューします。そして、コードまたはテスト設定を修正します。スローされた例外が「期待される例外」である場合、テスト ケースを検証済みにします。
- テスト ケースを検証済みにするには、生成されたテスト クラス ファイルで次のアサーションを使用します。
// Asserts that given expression throws an exception of specified type CPPTEST_ASSERT_THROW(expression, ExceptionType)
// Asserts that given expression throws an exception of specified type CPPTEST_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)
- テスト ケースを検証済みにするには、生成されたテスト クラス ファイルで次のアサーションを使用します。
- 適切な回帰テスト コンフィギュレーションを実行してテストがパスするかどうかを検証します。
- このステップの終了基準は、古いテスト ケースがないこと、すべての関数が少なくとも 1 つのテスト ケースを持つこと、およびすべてのテスト ケースがパスすること (つまり未検証の例外をスローしないこと) です。
- プロジェクトを保存します。
- プロジェクトおよび関連するテスト資産 (テスト ケースも含む) をソース管理システムにチェックインします。詳細については「ソース管理システムによるプロジェクトとテスト資産の共有」を参照してください。