メタデータの使用例

次の抜粋は、テスト コードで動的なメタデータを使用する方法の例を示しています。

コマンド ライン引数の構成

次の抜粋は、テスト フィクスチャ ファイルまたは実行可能ファイルの作成に使用されるコンパイル済みファイルのタイプに基づいて、条件付きのコマンド ライン引数をテスト実行に適用する方法を示したものです。適切な -report 値を MFU-GLOBAL-COMMANDLINE-ARG 変数に代入すると、適切なレポートが生成されます。

...
entry MFU-GLOBAL-COMMANDLINE-PREFIX & "CMDOPT".

       $if ilgen set
         $if nojvmgen set
            move "-verbose -high-res-timer:true -report:nunit" to MFU-GLOBAL-COMMANDLINE-ARG
        $else
           move "-verbose -high-res-timer:true -report:junit" to MFU-GLOBAL-COMMANDLINE-ARG
        $end
       $else
           move "-verbose -high-res-timer:true -report:markdown" to MFU-GLOBAL-COMMANDLINE-ARG
       $end
        goback
...

グローバル メタデータの構成

次の抜粋は、テスト実行のすべてのテスト ケースに適用されるメタデータを示したものです。この例では、TestRunName ファイル内のすべてのテスト ケースに「fulltest」のトレイトが割り当てられます。

...
entry MFU-GLOBAL-METADATA-PREFIX & "TestRunName".
	move "fulltest" to MFU-MD-TRAITS
	goback
...

特定のテスト ケースに対するメタデータの構成

次の抜粋は、個別のテスト ケースに適用できるメタデータを示したものです。この例では、さまざまな詳細がテスト ケース「TestCase1」に追加されています。

...
entry MFU-TC-METADATA-SETUP-PREFIX & "TestCase1".
           move "This is an example of a dynamic description" to MFU-MD-TESTCASE-DESCRIPTION
           move 3000 to MFU-MD-TIMEOUT-IN-MS
           move "smoke" to MFU-MD-TRAITS
           set MFU-MD-SKIP-TESTCASE to false
           move MFU-MD-TESTCASE-PRIORITY-LOW to MFU-MD-TESTCASE-PRIORITY
           goback.
...

JCL 単体テストの構成

次の抜粋は、JCL 単体テストを実行するために必要な環境設定の一部を示したものです。MFU-MD-JCL-FILE-NAME メタデータでサブミットする JCL ジョブ カードを指定し、MFU-MD-JCL-COPY-DD メタデータで JCL ジョブの出力をテキスト ファイルに保存するように設定しています。これにより、テスト アサーションの作成時に出力を照会できます。この例では、テストで作成されたジョブを JES キューから削除するように MFU-MD-JCL-FLUSH-JOB メタデータで設定しています。このメタデータは必須ではありません。JCL テストを実行するために必要なその他の要素 (エンタープライズ サーバー リージョンおよびカタログ) はコマンド ラインで指定します。

...
entry "MFUM_TXTDIFF1".
   move "txtdiff.jcl" to MFU-MD-JCL-FILE-NAME
   move "COBOL/JCL Unit Test" to MFU-MD-TESTCASE-DESCRIPTION
   set MFU-MD-JCL-COPY-DD to true  
   set MFU-MD-JCL-FLUSH-JOB to true
   goback.
... 

データ駆動型テストのデータ ソースの構成

次の抜粋は、データ駆動型テストのデータ ソースを構成する方法を示したものです。この例では、TestCSV テスト ケースで FrequentFlyer.csv データ ソースを使用します。ファイル内で使用される区切り文字は「;」です (デフォルトのカンマの代わりに使用します)。ファイル内の選択された行ごとに 1 回ずつ、各テスト ケースが複数回実行されます。この例では、InitialStatus 列の値が Platinum でない行は省略しています。

...
entry MFU-TC-METADATA-SETUP-PREFIX & "TestCSV".
           move "This is an example of a data driven test" to MFU-MD-TESTCASE-DESCRIPTION
           move "csv:FrequentFlyer.csv" to MFU-MD-TESTDATA
           move "InitialStatus != Platinum" to MFU-MD-DD-CSV-FILT-COND
	          move ";" to MFU-MD-DD-DSV
           goback.
...