テスト フィクスチャの要素

完成したテスト フィクスチャの要素は、COBOL プログラムのエントリ ポイントとしてコーディングされます。以下のコード スニペットに示すエントリ ポイントは、製品インストール ディレクトリの cpylib フォルダーから利用できる、mfunit.cpy コピーブックにある呼び出しプロトタイプを使用しています。

注: メインフレーム方言ではサポートされていないレベル 78 項目が使用されているためにコピーブックを使用できない場合は、以下のエントリ ポイント名を指定する必要があります。
要素 エントリ ポイント
テスト セットアップ MFUS_test_case_name
テスト メタデータ セットアップ MFUM_test_case_name
テスト ケース MFUT_test_case_name
テスト ティアダウン MFUE_test_case_name
グローバル メタデータ MFUGM_program_name
グローバル コマンド ライン引数 MFUGA_CMDOptions

主な要素は次のとおりです。

テスト セットアップ
テスト ケースを実行する前に満たす必要がある前提条件は、この節でセットアップできます。たとえば、テスト ケースにおいてデータ ファイルがすでに存在している、または入力できるように開かれている必要がある場合、この節でそれらをコーディングできます。この節はオプションです。
...
entry MFU-TC-SETUP-PREFIX & "MyTestCase"
//initial setup code goes here//
goback
...
テスト メタデータ セットアップ
テストの説明やタイムアウトなど、ソース コードから直接追加して 1 つのテスト ケースに関連付けることができるさまざまなメタデータの詳細を記述できます。「動的なメタデータの使用」を参照してください。データ駆動型テストの場合、この節に少なくとも MFU-MD-TESTDATA メタデータ宣言を含める必要があります。それ以外の種類のテストでは、この節はオプションです。
...
entry MFU-TC-METADATA-SETUP-PREFIX & "MyTestCase"
//initial metadata setup code goes here//
goback
...
テスト ケース
この節には、実際のテスト ロジックとテスト アサーションが含まれます。
...
entry MFU-TC-PREFIX & "MyTestCase"
//test case code goes here//
goback
...
テスト ティアダウン
本セクションでは、テスト実行後のリソースのリリースやクローズなど、環境の整理を行えます。テスト スイート内で複数のテスト ケースを実行する場合、これは重要になる可能性があります。この節はオプションです。
...
entry MFU-TC-TEARDOWN-PREFIX & "MyTestCase"
//clean-up code goes here//
goback
...

複数のテスト ケースがある場合、それぞれに独自のセットアップとティアダウンが必要です。複数のテスト フィクスチャを含む COBOL プログラムは通常、テスト スイートと呼ばれます。

これらの節のコードにおける表示順序は任意ですが、ここに示す順序で実行されます。

テスト ケースに影響する要素はほかにもあります。それらを指定するには、テスト ケースに属性 (メタデータ) を適用するか、テスト実行のコマンド ライン オプションを設定します。

グローバル コマンド ライン オプション
テスト ランナーのコマンド ライン引数を MFU-GLOBAL-COMMANDLINE-PREFIX エントリポイント内に追加できます。引数は、mfunit.cpy コピーブックにある COBOL 変数 MFU-GLOBAL-COMMANDLINE-ARG で設定します。この節はオプションです。
...
entry MFU-GLOBAL-COMMANDLINE-PREFIX & "MyProgramName"
//global command line arguments here//
//for example: move "-verbose -high-res-timer:true -report:markdown to MFU-GLOBAL-COMMANDLINE-ARG
goback
...
このエントリ ポイントを使用したより包括的な例については、「メタデータの使用例」を参照してください。
テスト メタデータ セットアップ
ソース コードから直接追加してテスト フィクスチャ内のすべてのテスト ケースに関連付けることができるさまざまなメタデータの詳細を記述できます。たとえば、テスト フィクスチャ ファイル内のすべてのテスト ケースにトレイトを追加することができます。この節はオプションです。
...
entry MFU-GLOBAL-METADATA-PREFIX & "CMDOptions"
//global metadata is set up here//
goback
...
注: "CMDOptions" の部分に、任意のリテラル名をかっこで囲んで指定できます。
このエントリ ポイントを使用したより包括的な例については、「メタデータの使用例」を参照してください。