このセクションでは、よくあるケースを取り上げて、例外の違反に対処する方法について説明します。

シナリオ 1: 開発者がソースを変更したため、プロジェクトをテストして「例外がない」状態にする必要がある

  1. 次のいずれかの操作を行います。
    • プロジェクトがまだない場合、新規にプロジェクトを作成します。
    • すでにプロジェクトがある場合、プロジェクトおよび関連するソース ファイルをソース管理システムからアップデートします。
  2. GUI からテストを生成して実行します。
  3. レポートされた例外をレビューします。そして、コードまたはテスト設定を修正します。スローされた例外が「期待される例外」である場合、テスト ケースを「検証済み」にします。
    • テスト ケースを検証済みにするには、生成されたテスト クラス ファイルで次のアサーションを使用します。

      //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)
       

  4. 適切な回帰テスト コンフィギュレーションを実行してテストがパスするかどうかを検証します。

    • このステップの終了基準は、古いテスト ケースがないこと、すべての関数が少なくとも 1 つのテスト ケースを持つこと、およびすべてのテスト ケースがパスすること (つまり、未検証の例外をスローしないこと) です。
  5. プロジェクトを保存します。
  6. プロジェクトおよび関連するテスト資産 (テスト ケースも含む) をソース管理システムにチェックインします。詳細については「ソース管理システムによるプロジェクトとテスト資産の共有」を参照してください。

シナリオ 2: コマンドラインから実行したテスト。レポートされた例外に開発者が対処する必要がある

  1. テスト結果のレポートをレビューし、例外が発生したプロジェクトを特定します。
  2. プロジェクトおよび関連するソース ファイルをソース管理システムからアップデートします。
  3. 予定されたコマンドライン回帰テストが使用するローカル ソースとコンフィギュレーションを使って、テスト ケースの失敗と例外を再現します。
    • 予定された回帰テスト用のプロジェクトにアクセスできる場合、その設定を使って修正できます。
  4. レポートされた例外をレビューします。そして、コードまたはテスト設定を修正します。スローされた例外が「期待される例外」である場合、テスト ケースを検証済みにします。
    • テスト ケースを検証済みにするには、生成されたテスト クラス ファイルで次のアサーションを使用します。

      //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)
       

  5. 適切な回帰テスト コンフィギュレーションを実行してテストがパスするかどうかを検証します。
    • このステップの終了基準は、古いテスト ケースがないこと、すべての関数が少なくとも 1 つのテスト ケースを持つこと、およびすべてのテスト ケースがパスすること (つまり、未検証の例外をスローしないこと) です。
  6. プロジェクトを保存します。
  7. プロジェクトおよび関連するテスト資産 (テスト ケースも含む) をソース管理システムにチェックインします。詳細については「ソース管理システムによるプロジェクトとテスト資産の共有」を参照してください。
  • No labels