動的なメタデータの使用

テスト ケースに関するメタデータをソース コードに追加できます。

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
次のいずれかを指定できます。
  • =
  • !=
  • contains
  • !contains
data-value
フィルターの基準となる値。
ds-csv-filter-condition
MFU-MD-DD-DSV データ駆動型テストに適用されます。このオプションでは、データ ファイルの区切り文字を指定できます(デフォルトでは、区切り文字はカンマです)。

たとえば、セミコロンを使用するには次のように指定します。

move ";" to MFU-MD-DD-DSV

ds-csv-separator
MFU-MD-PP-CONTROLLER

MFUPP プリプロセッサを使用してプログラムのモックを作成する際に実行フローを制御するエントリ ポイントを決定します。

MFU-MD-PP-REDIRECTOR テスト対象のソース コードのエントリ ポイントまたはセクションの置換コードとして機能するエントリ ポイントの名前を決定します。