ソース コードへのテスト コードの挿入

MFUPP プリプロセッサを使用してソース コードをコンパイルすると、Micro Focus Unit Testing Framework 内で、単体テスト コードおよび付随するデータを含むコピーブックとともに実行できます。

ソース プログラムおよびコピーブックが同じ場所に保存されていて、以下に示す命名規則に準拠している場合、1 つの作業単位として実行できます。これらの自己完結型テストでは、ソース コードにプログラム名が必要です。この名前は、テスト実行中に実行するコピーブックを識別するために使用されるためです。

次の概要は、ソース コードへの挿入の領域を示しています。

        Identification Division
        Program-Id. MYSRC.
        Environment Division
        Data Division
        Working-Storage Section
          \____________________________ MFUWS_MYSRC

        Local-Storage Section
        Linkage Section.
          \____________________________ MFULK_MYSRC

        Procedure Division
          GOTO MFUPP--START-OF-PROGRAM                *> INSERTED BY MFUPP
          \____________________________ MFUPD_MYSRC
          
         MFUPP--START-OF-PROGRAM SECTION.             *> INSERTED BY MFUPP
          \____________________________ MFUPDS_MYSRC
ファイル名 説明
MFUWS_prog-id.cpy ソース プログラムでまだ定義されていない追加のテスト データ項目。これらの項目は、テスト ケースの実行時に作業場所節に挿入されます。

prog-id は、テスト対象のソース プログラムのプログラム名です。

MFULK_prog-id.cpy ソース プログラムでまだ定義されていない追加の連絡節データ項目。これらの項目は、テスト ケースの実行時に連絡節に挿入されます。

prog-id は、テスト対象のソース プログラムのプログラム名です。

MFUPD_prog-id.cpy ソース コードに対して実行されるテスト ケース コード (セットアップ、ティアダウンなどを含む)。これは、テスト対象のソースの手続き部の開始時にエントリ ポイントとして挿入されます。他の単体テストと同じように、エントリ ポイントをコーディングします。

prog-id は、テスト対象のソース プログラムのプログラム名です。

MFUPDS_prog-id.cpy 連絡節項目を設定するためにソース プログラムに追加する最初の節または段落。たとえば、CICS プログラムで COMMAREA を使用する場合や他のプログラムを呼び出すためにテスト実行ファイルのパスが必要な場合に使用します。このコピーブックは、テスト対象のコードの最初の行が実行される前に挿入されます。

このようなパスに従うテスト ケースでは、テスト対象のプログラムが再入可能であることを確認する必要があります。テストの実行時に「COBRT166 Recusive COBOL CALL is illegal (Fatal)」メッセージが表示される場合は、RENTRANT 指令を使用してプログラムを再コンパイルするか、方言を変更する必要がある場合があります。

注: WS-PREFIX、LK-PREFIX、PD-PREFIX、および PDS-PREFIX 指令を使用して、上記の命名規則の MFUWS_、MFULK_、MFUPD_、および MFUPDS_ プレフィックスを変更できます。「MFUPP 指令」を参照してください。

追加のコピーブックを含めてソース コードをコンパイルしたら、そのソース コードに対して、テスト ランナーでテスト ケースを 1 つの作業単位として実行できます。

これらのコピーブックを使用するテスト実行例を実行するには、「MFUPP プリプロセッサの使用例」を参照してください。