プログラムのモックとスタブへの MFUPP の使用

次の例を使用してソース コードのモックを作成し、Micro Focus Unit Testing Framework を介して実行フローを制御します。このテストでは、モックとスタブの両方の手法を使用して、テスト対象のソース プログラムのコードをスキップし置き換えます。

この例は、付録にある 3 つのファイルで構成されています。

  • getCustomerAccountInfo.cbl
  • getCustomerId.cbl
  • MFUT_TESTCUSTOMER.cbl
  1. MFUPP プリプロセッサを使用して getCustomerAccountInfo.cbl をコンパイルします。
    cobol getCustomerAccountInfo.cbl preprocess"mfupp" mock confirm verbose endp int() verbose sql();
    注: ソース コードには SQL 構文が含まれているため、sql() 指令が必要です。
  2. MFUPP プリプロセッサを使用して getCustomerId.cbl をコンパイルします。
    cobol getCustomerId.cbl preprocess"mfupp" mock confirm  verbose endp int() verbose sql();

    このファイルは、最初のファイルと同じ指令でコンパイルされます。

  3. Micro Focus Unit Testing Framework で使用するために MFUT_TESTCUSTOMER.cbl をコンパイルします。
    cbllink -D MFUT_TESTCUSTOMER.cbl

    テスト ケースがコンパイルされ、Micro Focus Unit Testing Framework にリンクされます。

  4. Micro Focus Unit Testing Framework を介して MFUT_TESTCUSTOMER.int を実行します。
    mfurun -verbose -junit-packname:com.microfocus.mfupp.native -report:junit MFUT_TESTCUSTOMER

    テスト ケースが前にコンパイルした 2 つのファイルと同じフォルダーで実行されている限り、これら 2 つのファイルはテスト対象になり、他のプログラムのいずれかが呼び出されるたびにコントローラーのエントリ ポイントに戻ります。コントローラーは、2 回にわたって MOCK-REDIRECTOR エントリ ポイントにフローをリダイレクトして、テストのために顧客情報を取得します。