前回は簡単なフローを使用してMUnitのテストケースを作成してみました。今回は入力が絡んだ分岐を含んだ際のテストケースの作成について実施していきたいと思います。
今回使用するフロー
今回使用は以下のフローをテスト対象としてカバレージ100%を目指します。
前回と違うところは、分岐にChoiceが使われていること、分岐の判断材料としてqueryParamsが使用されていること、分岐内容によってPayload結果が異なることが主な違いとなっています。
queryParamsのnameに名前が設定されていればその名前を使用し、設定されていなければ「名前をに入力して下さい」という文言を返す処理となっています。
MUnitの作成
まずは前回同様にMUnitを作成してみましょう。
名前が入っているテストケース
名前が入っているテストケースから作成します。
こちらのテストケースはqueryParamsにname項目が必要になります。この場合、Flow Referenceの前にSet Eventを配置しましょう。
Set EventコンポーネントはMuleイベントを定義できるコンポーネントで、MUnitの前にPayloadやattributeに値を設定しておく場合に使用します。
Set Eventのプロパティは以下のように設定します。今回はattributeのqueryParamsに値を入れたいので、AttributeのタブからqueryParams値を設定します。
Validation部分にはPayloadの値を検証します。Payload値が「taroさんこんにちは」となっていればOKです。
これでテストを実施してみましょう。テストの成功とともに分岐の上部分に緑のチェックがついていれば成功となります。
名前が入っていないテストケース
続いて名前が入っていないパターンのテストケースを作成してみます。ベースは上記のテストケースと似ているため、コピーして少し改変していきます。
名前が入っていないケースはqueryParamsの設定が不要なので、Set Event部分をSet null payloadに置き換えましょう。ちなみにSet null payloadはpayloadをnullに設定するため、なくてもOKです。あくまで初期化という意味合いで。
Validation部分もPayload値が「名前を入力して下さい」と修正すれば名前が入っていないテストケースの完成です。あとはテストケース名などを調整しましょう。
まとめてテスト実行
分岐のケースを2つ作成したところで、2つをまとめて実行してみましょう。
フローの外側の何もないところを右クリックして、Run Munit suitemを選択しましょう。カバレージの100%達成と分岐先の両方に緑のチェックが付いていればOKです。
次回はモックを使用したテスト
このようにテストケースを複数作成し、入力バリエーションを変更することで分岐のテストについても対応ができます。次回はMUnitを使う上で必須で使うであろうモックを使用したテストを実施してみたいと思います。
コメント