1. テスト ケース エクスプローラーで tests ディレクトリを右クリックし、[新規追加] > [Test Suite] をクリックします。
  2. [テスト スイートの名前] および [テスト スイートの場所] を次の図のように指定します。 

  3. [終了] をクリックします。
  4. テスト スイートにデータ ソースを追加します。
    1. テスト ケース エクスプローラーで ATM プロジェクトを右クリックし、[新規追加] > [データ ソース] をクリックします。
    2. [テーブル] を選択し [終了] をクリックします。
    3. データソースの [名前] を設定します。
    4. [1 行目は列名を表す] チェックボックスをオンにします。
    5. フィールドをダブルクリックし、次のように値を設定します。
      • A ヘッダー: password  
      • A2: a1  
      • A3: really_long_password  
      • A4: foo  
      • B ヘッダー: result  
      • B2: a1  
      • B3: really_long_password  
      • B4: goo  

    6. データ ソース ファイルを保存します。
  5. テスト ケース エクスプローラーでユーザー定義のテスト スイート TestSuite_Account_DS を右クリックし、[新規追加] > [ウィザードを使用したテスト ケース] をクリックします。
  6. 次の手順に従ってテスト ケースを設定します。
    1. ウィザードの最初のページで [参照] をクリックして Account.cxx を選択します。[ファイル] フィールドに値が設定されます。[関数] ドロップダウン リストから void Account::setPassword(const char *) を選択します。
    2. [次へ] をクリックします。
    3. [データ ソースの使用] チェックボックスをオンにし、ドロップダウン リストから手順 2 で作成した [TestPasswordDS] データ ソースを選択します。
    4. [入力] > [引数] > [const char* password] の [NULL] をダブルクリックし、ドロップダウン リストから {password} を選択します。
    5. [終了] をクリックします。
  7. test_setPassword テスト ケースを編集します。
    1. テスト ケース エクスプローラーで test_setPassword テスト ケースをダブルクリックして、テスト スイートを開きます。
    2. テスト スイートの先頭に #include "Account.hxx" を追加します。
    3. test_setPassword テスト ケースの末尾にある 3 つの事後条件チェックを削除し、次のコードに置き換えます。 CPPTEST_ASSERT_CSTR_EQUAL(CPPTEST_DS_GET_CSTR("result"),
      _cpptest_TestObject.getPassword());  


    4. テスト スイートの変更を保存します。
  8. テスト ケース エクスプローラーで test_setPassword を選択します。[Parasoft] メニューの [テストの実行] > [ユーザー定義] > [Run Unit Tests (Project Scope)] をクリックしてテストを実行します。[テスト進捗] タブに 3 つのテストが成功し、1 つのアサーションが失敗したことがレポートされます。
  9. [Parasoft] ビューを開き[単体テストの問題の修正] を展開してデータ ソースのテーブルで設定したアサーションの誤りを参照します。
  10. テーブルで result を修正してテストを再実行し、問題が修正されたことを確認します。

データ ソースに行を追加したり、行を修正するだけで、別のテストを追加できます。

  • No labels