Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

デフォルトの設定では、C++test は 1 つのファイルにつき 1 つのテスト スイートを生成します。設定を変更すれば、1 つの関数につき 1 つのテスト スイートを生成することもできます。 ( 「生成オプションのカスタマイズ」 を参照してください。)

C++test は「セーフ(安全な)スタブ定義」を自動生成して危険な関数を置き換えます。セーフ スタブ定義は、ほとんどのシステム I/O ルーチン (rmdir()、remove()、rename() など) について使用できます。また、C++test は見つからない関数定義と変数定義のためのスタブも自動生成できます (「スタブの自動生成とカスタマイズ」を参照)。ユーザー定義スタブは必要に応じて追加できます ( 「スタブの追加と変更」を参照)。

生成の手順
Anchor
Generating Test Cases
Generating Test Cases

...

  1. テスト ケースを生成するテスト コンフィギュレーションを選択または作成します。  
  2. テストを実行します。  
    • GUI からのテスト方法については「GUI からのテスト」を参照してください。
      コマンドラインからのテスト方法については 「コマンドライン インターフェイスからのテスト 」を参照してください。  

      ヒント - [テスト ケース エクスプローラー] ビューからのテスト生成

      [テスト ケース エクスプローラー] ビューから直接テストを生成することができます (このビューを表示するには、[Parasoft] > [ビューの表示] > [テスト ケース エクスプローラー] をクリックします)。[テスト ケース エクスプローラー] ビューでプロジェクト ノードを選択して右クリックし、ショートカット メニューの からテスト生成用のテスト コンフィギュレーションを実行します。


      テスト ケース エクスプローラーの詳細については「GUI の概要」を参照してください。


  3. 生成されたテスト ケースをレビューします。  
  4. (オプション) 必要に応じてテスト生成の設定を調整します。  


生成オプションのカスタマイズ
Anchor
Customizing Generation_Options
Customizing Generation_Options

...

[テスト対象関数ごとにテスト スイートを生成] を選択した場合、このテスト コンフィギュレーションを使って ATM サンプル プロジェクトをテストすると、次のようなテスト スイートが生成されます ( ATM プロジェクトは C++test のインストール ディレクトリの Examples/ATM ディレクトリにあります)。

 


[テスト対象ソース/ヘッダー ファイルごとにテスト スイートを生成] を選択した場合、このテスト コンフィギュレーションを使って ATM サンプル プロジェクトをテストすると、次のようなテスト スイートが生成されます。

 


定義済みオプションを選択した後、必要に応じてパターンをカスタマイズできます。たとえば、ソースと同じ場所にテストを生成するなどのカスタマイズです。次の変数を使用できます。


  • ${test_ext} - C++test 固有のテスト スイート ファイルの拡張子 (.cpp)  
  • ${file_name} - ファイル名  
  • ${file_base_name} -拡張子なしのファイル名  
  • ${file_ext} - ファイルの拡張子  
  • ${file_loc} - ファイルの場所  
  • ${file_loc_rel} - ファイルの場所 (プロジェクト ルートからの相対の場所)  
  • ${file_uid} - ファイルの一意な識別子  
  • ${function_name} - テスト対象の関数名  
  • ${function_uid} - テスト対象関数の一意な識別子 (関数のシグニチャ/マングル名からハッシュ コード計算された識別子)  
  • ${src_file_name} - コンテキスト (ソース) ファイルの名前 (「コンテキスト ファイル」とは、テスト対象関数が定義されているコンパイル単位を記述したソース ファイルのこと)  
  • ${src_file_base_name} - 拡張子なしのコンテキスト (ソース) ファイルの名前  
  • ${src_file_ext} - コンテキスト (ソース) ファイルの拡張子  
  • ${src_file_loc} - コンテキスト (ソース) ファイルの場所  
  • ${src_file_loc_rel} -コンテキスト (ソース) ファイルの場所 (プロジェクト ルートからの相対パス)  
  • ${src_file_uid} - コンテキスト (ソース) ファイルの一意な識別子 (ソース ファイルの場所からハッシュ コード計算された識別子)  

...

このセクションでは、[テスト スイート出力ファイルとレイアウト] オプションの設定方法について説明します。このオプションは、テスト コンフィギュレーションの [生成] > [テスト スイート] タブにあります。各オプションがプロジェクトで実際にどのように解釈されるかをわかりやすくするために、次のサンプル プロジェクトを使って、各オプションの影響について説明します。

Code Block
MyProject
  headers
    MyClass.h // contains foo() definition
  sources
    MyClass.cpp // contains bar() and goo() definitions

1 つの関数につき 1 つのテスト スイートを生成し、別のディレクトリにテストを置く

...

Code Block
MyProject
  headers
    MyClass.h
  sources
    MyClass.cpp
  tests
    headers
	MyClass.h
	    TestSuite_foo.cpp // contains tests for foo()
     sources
	MyClass.cpp
	  TestSuite_bar.cpp // contains tests for bar()
          TestSuite_goo.cpp // contains tests for goo()

Use ${project_loc}/tests/${file_loc_rel}/${file_name}/
TestSuite_${function_name}.${test_ext}



レイアウトの例:

Code Block
MyProject
 Header Files
   MyClass.h
 Source Files
   MyClass.cpp
 tests
   Header Files
     MyClass.h
	TestSuite_foo.cpp // contains tests for foo()
   Source Files
     MyClass.cpp
	TestSuite_bar.cpp // contains tests for bar()
	TestSuite_goo.cpp // contains tests for goo() 

...