テスト構造 (MUnit) の移行

MUnit テストは、3 つのスコープに分かれています。すべて省略可能です。

範囲 説明

Behavior

Behavior スコープ (​<munit:behavior/>​) は、テストロジックを実行する前に前提条件を設定することを目的としています。
このセクションには、モックやスパイが含まれます。

Execution

Execution スコープ (​<munit:execution/>​) には、次のスコープを実行する前にすべてのプロセスが終了するまで待機するテストロジックがあります。

Validation

Validation スコープ (​<munit:validation/>​) には、Execution スコープの結果に関連するすべての検証があります。
Validation スコープには、アサーションや検証が含まれます。

次の例では、1.x と 2.x の MUnit テストを比較しています。

MUnit 1.x のテスト
<munit:test name="sampleTest" description="Test">
    <mock:when messageProcessor="mule:set-payload">
        <mock:then-return payload="#['Sample']"/>
    </mock:when>
    <flow-ref name="sampleFlow"/>
    <munit:assert-payload-equals expectedValue="#['SampleString']"/>
</munit:test>
MUnit 2.x のテスト
<munit:test name="sampleTest" description="Test">
    <munit:behavior>
        <munit-tools:mock-when processor="mule:set-payload">
            <munit-tools:then-return>
                <munit-tools:payload value="#['Sample']" />
            </munit-tools:then-return>
        </munit-tools:mock-when>
    </munit:behavior>
    <munit:execution>
        <flow-ref name="sampleFlow"/>
    </munit:execution>
    <munit:validation>
        <munit-tools:assert-that expression="#[payload]" is="#[MunitTools::equalTo('SampleString')]"/>
    </munit:validation>
</munit:test>