テスト ケースに関するメタデータをソース コードに追加できます。
Micro Focus Unit Testing Framework では、テスト ケースにメタデータを追加するために使用できる多数の COBOL フィールドが mfunit.cpy コピーブック内に用意されています。
特定のテスト ケースに関連するメタデータについては、MFU-TC-METADATA-SETUP-PREFIX &
test-case-name エントリ ポイント内で COBOL フィールドを設定します(レベル 78 定数を使用できない場合は、代わりに "MFUM_test-case-name" というエントリ ポイント名を使用します)。このエントリ ポイントは、テスト ケースの準備段階で呼び出されます。
テスト スイート内のすべてのテスト ケースに関連するメタデータについては、MFU-GLOBAL-METADATA-PREFIX &
program-name エントリ ポイント内で COBOL フィールドを設定します(レベル 78 定数を使用できない場合は、代わりに "MFUGM_program-name" というエントリ ポイント名を使用します)。このエントリ ポイントは、どのテスト ケースよりも先に呼び出されます。
テスト スイートからテスト フィクスチャ ファイル (.mfu ファイル) を生成すると、テスト ケース内および [global] セクションでメタデータを参照できます。
テスト ケース固有メタデータおよびグローバル メタデータのエントリ ポイントを設定するには、次の COBOL フィールドを使用します。
COBOL フィールド |
説明 |
テスト フィクスチャ (.mfu) ファイルのタグ |
MFU-MD-TESTCASE-DESCRIPTION |
テスト ケースの説明 |
description |
MFU-MD-TIMEOUT-IN-MS |
テスト ケースを実行する期限 (ミリ秒)。タイムアウトになると、0 以外の戻りコードが返されます。このタイムアウトは、3 秒以上に設定する必要があります。
|
timeout |
MFU-MD-TRAITS |
テスト ケースのトレイト。トレイトに基づいてテスト ケースを実行できます。指定したトレイトが割り当てられていないテストは実行時にスキップされます。ヒント: 必要に応じて、複数のトレイトをカンマで区切って追加できます。
|
traits |
MFU-MD-SKIP-TESTCASE |
テスト ケースをスキップします。 |
skipped |
MFU-MD-TESTCASE-PRIORITY |
テスト ケースの優先度を指定します。指定できる値は次のとおりです。
- MFU-MD-TESTCASE-PRIORITY-HIGH
- MFU-MD-TESTCASE-PRIORITY-MEDIUM
- MFU-MD-TESTCASE-PRIORITY-LOW
注: 優先度が指定されていないテスト ケースは、優先度が指定されたすべてのテスト ケースが実行された後に実行されます。
|
priority |
MFU-GLOBAL-COMMANDLINE-ARG |
テスト実行にテスト ランナーの引数を適用します。このフィールドは、MFU-GLOBAL-COMMANDLINE-PREFIX エントリ ポイントで使用します。注: このフィールドの長さは 128 文字に制限されます。
|
various |
MFU-MD-TESTDATA
|
データ駆動型テストに適用されます。このオプションでは、データ駆動型テストのデータ ソースを指定できます(現在、カンマ区切り値形式のデータ ソースのみがサポートされています)。 次に例を示します。
move "csv:payroll.csv" to MFU-MD-TESTDATA
|
data-source |
MFU-MD-DD-CSV-FILT-COND
|
データ駆動型テストに適用されます。このオプションでは、テスト ケースで使用するデータ ソースのデータをフィルター処理できます。ソース内のデータ行を選択または無視する条件を指定します。 次に例を示します。
move "column_name
condition
data-value" to MFU-MD-DD-CSV-FILT-COND
詳細は次のとおりです。
- column_name
- データ ソース内の列ヘッダーの名前。
- condition
- 次のいずれかを指定できます。
- data-value
- フィルターの基準となる値。
|
ds-csv-filter-condition |
MFU-MD-DD-DSV
|
データ駆動型テストに適用されます。このオプションでは、データ ファイルの区切り文字を指定できます(デフォルトでは、区切り文字はカンマです)。 たとえば、セミコロンを使用するには次のように指定します。
move ";" to MFU-MD-DD-DSV
|
ds-csv-separator |
MFU-MD-JCL-FILE-NAME |
サブミットする JCL ジョブ カードのファイル名。 |
jcl-filename |
MFU-MD-JCL-COND-TYPE |
ジョブが終了した理由。 |
|
MFU-MD-JCL-COND-CODE |
ジョブの結果の戻りコード。 |
|
MFU-MD-JCL-JOB-NBR |
JCL ジョブ番号。 |
|
MFU-MD-JCL-TESTCASE-PASSED |
テスト ケースが成功したか失敗したかを示すメタデータ。テストに合格したとマークするには true に、失敗したとマークするには false に設定します。 次に例を示します。
set MFU-MD-JCL-TESTCASE-PASSED to true |
|
MFU-MD-JCL-COPY-DD |
JCL ジョブの実行および結果に関する出力ファイルを生成します。ジョブでテスト アサーションを行う場合、このメタデータは必須です。デフォルトは true です。
テストで出力を使用する方法の例については、「JCL テスト ケースの例」を参照してください。
|
es-show-dd |
MFU-MD-JCL-FLUSH-JOB |
完了したジョブをスプール キューからフラッシュするかどうかを示します。テストの完了時にフラッシュするには true に、ジョブをキュー内に保持するには false に設定します。 |
es-flush-job |