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

シナリオ 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