Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Code Builder で実装プロジェクトとインテグレーションプロジェクトの MUnit テストを実行、変更、作成します。MUnit テストファイルが含まれるプロジェクトをインポートします。
MUnit は、「MUnit の概要」で説明されているように Mule アプリケーションで単体テストを作成および実行するための MuleSoft 単体テストフレームワークです。
Anypoint Code Builder には、テストを実行できる [Testing (テスト)] パネルが用意されています。テストスイートは、[Explorer] のプロジェクトディレクトリ /src/test/munit
内にもあります。IDE には、テストとログの状況が表示される [Testing Results (テスト結果)] パネルもあり、実行したテストの状況がわかります。
Anypoint Code Builder でサポートされている MUnit 機能については、「Anypoint Code Builder リリースノート」を参照してください。Anypoint Studio では、MUnit テスト機能もサポートされています。
Anypoint Extension Pack に含まれる Anypoint Code Builder - MUnit 拡張機能では、Anypoint Code Builder の MUnit 機能がサポートされています。拡張機能については、「Anypoint Extension Pack」を参照してください。
MUnit を実行するために必要な設定を定義します。
案内については、MUnit 機能へのアクセスを設定するを参照してください。
MUnit の基礎を理解します。テスト設定に関する概要と指針については、MUnit ドキュメントを参照してください。
Anypoint Code Builder でサポートされている MUnit 機能については、Anypoint Code Builder Release Notesを参照してください。Anypoint Studio では、すべての MUnit 機能を使用してテストを行うことができます。
現時点では、Anypoint Code Builder で [Run Tests with Coverage (カバー率を使用してテストを実行)] を使用することはできません。 パネルの [Run Tests with Coverage (カバー率を使用してテストを実行)] アイコン"] |
MUnit リソースをプロジェクトで使用できるようにします。このプロセスは、Mule Enterprise Edition (EE) ライセンスを持っているかどうかによって異なります。
Maven 設定を定義する (ライセンスのあるアクセス):
Mule EE ライセンス (トライアルライセンスではない) を持っている場合、Maven ファイル settings.xml
で server
ログイン情報設定を定義します。
Maven 設定を定義する (ライセンスのないアクセス):
Mule EE ライセンスを持っていない場合や、ライセンスがトライアルライセンスである場合、プロジェクトの mule-artifact.json
を設定します。このオプションでは、Mule Kernel (以前の名称は Mule Community Edition) を使用してテストを実行します。
Mule EE ライセンス (トライアルライセンスではない) を持っている場合、Maven ファイル settings.xml
で server
ログイン情報を設定します。
Enterprise ライセンスを入手またはインストールするには、「Enterprise ライセンスのインストール」を参照してください。MuleSoft ユーザーであり、 MuleSoft Enterprise リポジトリにアクセスするためのログイン情報を持っていない場合は、サポートに連絡して、Nexus Enterprise ログイン情報を要求してください。
通常は {user.home}/.m2/
にある settings.xml
に移動します。
settings.xml
が存在しない場合は作成してください。
<servers></servers>
内で各自の Mule ユーザー名とパスワードを使用して server
設定を指定します。
<server>
<username>yourMuleUsername</username>
<password>yourMulePassword</password>
<id>releases-ee</id>
</server>
<repositories></repositories>
内で repository
設定を指定します。
<profiles>
...
<profile>
<id>Mule</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>MuleRepository</id>
<name>MuleRepository</name>
<url>https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
...
</profiles>
詳細は、「MuleSoft Enterprise リポジトリにアクセスするための Maven の設定」を参照してください。
Mule Enterprise Edition (EE) ライセンスを所有していない場合や、ライセンスがトライアルライセンスである場合、プロジェクトの mule-artifact.json
を設定します。
[Explorer] でプロジェクトを開きます。
プロジェクトの mule-artifact.json
ファイルで、キー-値ペア "requiredProduct" : "MULE"
を既存の設定に追加します。例:
{ "minMuleVersion": "4.6.2", "javaSpecificationVersions": [ "11" ], "requiredProduct" : "MULE" }
Maven 設定についての詳細は、Anypoint Code Builder の Maven 設定ファイルを参照してください。
一般的なワークフローには、次の 1 つ以上のステップが含まれます。
プロジェクトにテストが含まれていない場合、Anypoint Code Builder では次のタスクがサポートされています。
[Testing (テスト)] パネルまたは [Explorer] からテストスイート XML を開きます。
[Testing (テスト)] パネル - IDE のアクティビティバーから [Testing (テスト)] パネルを開きます。
MUnit テストスイートが含まれるプロジェクトを開きます。
([Testing (テスト)]) をクリックして、[Testing (テスト)] パネルを開きます。
スイートまたはテスト名をクリックするか、その上にマウスポインターを置き、 または強調表示された ([Go to test (テストに移動)]) をクリックし、テストが含まれる XML ファイルを開きます。例:
テスト名をクリックしても、XML ファイルが開きます。
Explorer - [Explorer] から、プロジェクトディレクトリで MUnit テストスイートファイルを見つけます。
MUnit テストスイートが含まれるプロジェクトを開きます。
アクティビティバーで、 ([Explorer]) をクリックします。
src/main/test/munit
に移動します。例:
テストスイート XML ファイルをクリックして、スイートのテストを表示します。
次のいずれかのオプションを使用して MUnit テストを実行します。
テストを実行すると、テストビルドが実行され、[Terminal (ターミナル)] にテストの進行状況が表示されます。すべてのテストが正常に実行されると、ビルドは成功します。それ以外の場合、ビルドは失敗します。
IDE の [Testing (テスト)] パネル、[Terminal (ターミナル)]、[Test Results (テスト結果)] パネルにテストの結果が表示されます。[Test Results (テスト結果)] パネルからタイムスタンプのあるログを利用することもできます。結果はいつでもクリアできます。
[Testing (テスト)] パネルから、すべてのテスト、スイートのすべてのテスト、1 つのテストを実行できます。[Testing (テスト)] パネルには、プロジェクトのすべての MUnit テストスイートがリストされます。
テストを実行する手順は、次のとおりです。
MUnit テストスイートが含まれるプロジェクトを開きます。
テストスイートを確認するには、MUnit テストを開くを参照してください。
アクティビティバーから、 ([Testing (テスト)]) をクリックして、[Testing (テスト)] パネルを開きます。
アイコンが表示されていない場合、アクティビティバー内をクリックして [Testing (テスト)] を選択し、アイコンを表示します。
[Testing (テスト)] パネルから、3 つのレベルのいずれかでテストを実行します。
パネル"]
デバッグ機能を使用して/使用しないでテストを実行します。XML にブレークポイントが含まれていて、デバッグすることを選択した場合、ブレークポイントでテストの実行が停止します。デバッグについては、デバッグモードで MUnit テストを実行するを参照してください。
1 | すべてのスイート: すべてのスイートのすべてのテストを実行するには、[Run Tests (テストを実行)] または [Debug Tests (テストをデバッグ)] アイコンをクリックします。 右クリックしメニューから同じオプションを選択できます。 |
2 | スイート: 1 つのスイートのすべてのテストを実行するには、スイートにマウスポインターを置くか、それをクリックし、[Run Test (テストを実行)] または [Debug Test (テストをデバッグ)] アイコンをクリックします。 右クリックしメニューから同じオプションを選択できます。 |
3 | テスト: 1 つのテストを実行するには、テストスイートのテストにマウスポインターを置くか、それをクリックし、[Run Test (テストを実行)] または [Debug Test (テストをデバッグ)] アイコンをクリックします。 |
右クリックしメニューから同じオプションを選択できます。
テストを監視して、テスト結果を確認します。
[Testing (テスト)] パネルと XML:
次の例では、実行中のテストが表示されています。
パネルと XML の実行中のテスト"]
このパネルと XML では、テストの結果が示されます。次の例では、失敗したテストが表示されています。
パネルで開くことに失敗したテスト"]
Terminal (ターミナル):
次の例は、実行されて失敗しているテストの進行状況を示しています。
================================================================================ === Running suite: myTestSuitEx3.xml === ================================================================================ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Running test: test-03-suite3 + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ java.lang.AssertionError: at file: [myTestSuitEx3.xml], line: [27] Expected: "yes" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 3} but: "no" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 2} at (root) at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] =============================================================================== [INFO] MUnit Run Summary - Product: MULE_EE, Version: 4.6.0 [INFO] =============================================================================== [INFO] >> myTestSuitEx3.xml test result: Tests: 1, Errors: 0, Failures: 1, Skipped: 0 [INFO] --- test-03-suite3 <<< FAILED [INFO] [INFO] =============================================================================== [INFO] > Tests: 1 [INFO] > Errors: 0 [INFO] > Failures: 1 [INFO] > Skipped: 0 [INFO] =============================================================================== [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:10 min [INFO] Finished at: 2024-04-29T08:49:39-07:00 [INFO] ------------------------------------------------------------------------
テスト結果で失敗が示されている場合は、テストエラーを修正するに移動します。
テスト結果をクリアするには、テスト結果をクリアするを参照してください。
デバッグ機能を使用して/使用しないでテストを実行します。XML にブレークポイントが含まれていて、デバッグすることを選択した場合、ブレークポイントでテストの実行が停止します。デバッグについては、デバッグモードで MUnit テストを実行するを参照してください。
テストスイート XML からテストを実行する手順は、次のとおりです。
[Testing (テスト)] パネルから、プロジェクトのテストスイート XML ファイルを開きます。
[Testing (テスト)] パネルから開く方法に関する指針は、MUnit テストを開くを参照してください。
テストスイート XML ファイルの 1 つのテストまたはすべてのテストを実行します。
テストスイート XML の 1 つのテストを実行する手順は、次のとおりです。
テスト (munit:test
) の XML が含まれる行にカーソルを置きます。
たとえば、次の例のような XML の行です。
<munit:test name="test-02-suite1">
<munit:validation>
<munit-tools:assert-equals actual='#["that"]' expected='#["this"]' />
</munit:validation>
</munit:test>
右クリックして、次のいずれかのオプションを選択します。
Run Test at Cursor (カーソル位置でテストを実行)
Debug Test at Cursor (カーソル位置でテストをデバッグ)
これらのメニュー項目が表示されていない場合、*[Testing (テスト)]* パネルで または強調表示された (*[Go to test (テストに移動)]*) から XML ファイルを開いてください。
テストスイート XML のすべてのテストを実行する手順は、次のとおりです。
XML ファイルにカーソルを置きます。
右クリックして、次のいずれかのオプションを選択します。
Run Tests in Current File (現在のファイルでテストを実行)
Debug Tests in Current File (現在のファイルでテストをデバッグ)
これらのメニュー項目が表示されていない場合、*[Testing (テスト)]* パネルで または強調表示された (*[Go to test (テストに移動)]*) から XML ファイルを開いてください。
[Testing (テスト)]、[Terminal (ターミナル)]、[Testing Results (テスト結果)] パネルで実行中のテストの状況を確認します。例を参照してください。
テスト結果をクリアするには、テスト結果をクリアするを参照してください。
[Run and Debug (実行とデバッグ)] パネルから MUnit 起動設定を使用して MUnit テストを実行します。
MUnit 起動設定を作成して実行します。
[Run and Debug (実行とデバッグ)] パネルを開きます。
アクティビティバーの (Run and Debug (実行とデバッグ)) アイコンをクリックする。
キーボードショートカットを使用する。
Mac: Cmd+Shift+d
Windows: Ctrl+Shift+d
デスクトップ IDE で、[View (表示)] > [Run (実行)] を選択する。
クラウド IDE で、 (メニュー) アイコンをクリックし、[View (表示)] > [Run (実行)] を選択する。
起動設定を launch.json
に追加します。
(歯車アイコン) をクリックして、[launch.json] タブを開きます。
デフォルト設定は次のようになります。
{
"version": "0.2.0",
"configurations": [
{
"type": "mule-xml-debugger",
"request": "launch",
"name": "Debug Mule Application",
"mule.project": "${workspaceFolder}",
"mule.runtime.args": "${config:mule.runtime.defaultArguments}"
}
]
}
launch.json
ファイルで、配列の最初のオブジェクトの後にカンマを追加し、Ctrl+Space を押してオートコンプリートメニューを開き、[MUnit Debug Launch (MUnit デバッグ起動)] を選択して MUnit 起動設定を追加します。例:
この操作により、[Munit Debug Tests (Munit テストデバッグ)]
という名前の新しい JSON オブジェクトがファイルに追加されます。例:
{
"version": "0.2.0",
"configurations": [
{
"type": "mule-xml-debugger", (1)
"request": "launch",
"name": "Debug Mule Application",
"mule.project": "${workspaceFolder}",
"mule.runtime.args": "${config:mule.runtime.defaultArguments}"
},
{
"type": "munit-xml-debugger", (2)
"request": "launch",
"name": "Munit Run Tests",
"mule.project": "${workspaceFolder}",
"munit.runtime.args": "${config:munit.runtime.defaultArguments}",
"munit.runtime.debugger.version": "${config:munit.runtime.debugger.version}",
"munit.debug": "false"
}
]
}
1 | [Debug Mule Application (Mule アプリケーションをデバッグ)] という名前の標準デバッガーのランチャー。 |
2 | [Munit Run Tests (Munit テスト実行)] という名前の MUnit デバッガーのランチャー。 |
設定を launch.json
に保存します。
[MUnit Debug Tests (Munit テストデバッグ)] 起動設定から MUnit テストを実行します。
[Run and Debug (実行とデバッグ)] パネルの起動メニューから [MUnit Debug Tests (Munit テストデバッグ)] を選択します。例:
の選択"]
[Run an Debug] パネルの ([launch (起動)]) をクリックして、[MUnit Debug Tests (Munit テストデバッグ)] を実行します。
MUnit テストが実行されていることを確認します。例を参照してください。
テストまたは Mule アプリケーションの XML にブレークポイントを追加したら、デバッグモードでテストを実行します。Mule がブレークポイントに達したら、[Run and Debug (実行とデバッグ)] パネルで変数を確認できます。
この手順には、Mule Runtime Engine (Mule) の Enterprise Edition が必要です。ライセンス情報については、「Enterprise ライセンスのインストール」を参照してください。 .
MUnit テストスイートが含まれるプロジェクトを開きます。
Mule アプリケーションまたはテストスイートの XML にブレークポイントを追加します。
ブレークポイントと Mule イベントに関する指針は、Mule アプリケーションのデバッグを参照してください。
デバッグコマンドで次のいずれかのオプションを使用してテストを実行します。
[Testing (テスト)] パネルから、任意のレベル (すべてのテスト、スイートのすべてのテスト、1 つのテスト) で ([Debug test (テストをデバッグ)]) をクリックします。
詳細は、[Testing (テスト)] パネルからテストを実行するを参照してください。
スイート XML から、右クリックメニューを使用してテストを実行します。
詳細は、MUnit 設定 XML ファイルからテストを実行するを参照してください。
[Run and Debug (実行とデバッグ)] パネルの起動設定から、テストを実行します。
案内については、MUnit 起動設定を使用してテストを実行するを参照してください。
ビルドプロセスがブレークポイントに達したら、アクティビティバーから ([Run and Debug (実行とデバッグ)]) をっクリックして変数 (Mule イベント変数やテストパラメーターを含む) を確認します。例:
データを調べて、問題に対処します。
デフォルトでは、タイムアウト期間を過ぎると実行中のテストは失敗します。デバッグセッションがテストのブレークポイントに達したら、テストとビルドはタイムアウトで失敗します。「タイムアウト属性のテスト」を参照してください。
テストを実行したら、エラーを修正します。
[Testing (テスト)] パネルから、失敗したテストの名前をクリックして、XML のテストエラーを確認します。
パネルに表示され、XML でエラーが強調表示されているすべてのテスト結果"]
XML の例のエラーでは、java.lang.AssertionError
というエラーが識別されます。
想定される結果 (赤で強調表示):
"yes" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 3}
実際の結果 (緑で強調表示):
"no" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 2} at (root)
[Test Results (テスト結果)] パネルでテストログの失敗したテストをクリックしてテストを確認することもできます。例:
パネルのエラー"]
エラーを修正します。
エラーを確認したら、[x] アイコンをクリックして、XML のエラーメッセージを閉じます。例:
想定される出力が生成されるように XML を編集します。
たとえば、この例の失敗したテストケースでは、"no"
ではなく "yes"
が返される必要があります。
エラーを修正したら、テストを再実行して、修正が機能していることを確認します。
XML からテストを再実行するには、テストの ([Test failure (失敗をテスト)]) をクリックします。
[Testing (テスト)] パネルからテストを再実行するには、 ([Run test (テストを実行)]) をクリックします。
[Testing Results (テスト結果)] パネルからテストを再実行するには、パネルを開き、テストログの失敗したテストをクリックし、テストログから ([Run test (テストを実行)]) をクリックします。
テストに成功していることを確認します。例:
パネルのテストの成功"]
MUnit XML 設定に関する指針は、MUnit Test Structure Fundamentals and MUnit Event Processorsを参照してください。
テスト結果をクリアするには、テスト結果をクリアするを参照してください。
Anypoint Studio および Anypoint Code Builder で作成された、インテグレーションまたは実装の Mule プロジェクトには、MUnit テストを含めることができます。
プロジェクトを Anypoint Code Builder にインポートして開くには、IDE へのプロジェクトのインポートを参照してください。
Anypoint Code Builder にインポートする前に Anypoint Studio からプロジェクトをエクスポートするには、「Studio からのプロジェクトのエクスポート」のいずれかの手順を使用します。
Anypoint Exchange の MUnit テストが含まれるサンプルまたはテンプレートをインポートするインテグレーションを開始するには、「インテグレーションプロジェクトを作成する」を参照してください。
インテグレーションプロジェクトを作成する場合、空のプロジェクトから始める代わりに [Template or Example Project (テンプレートまたはサンプルプロジェクト)] をクリックします。これにより、テストが含まれるアセットをプロジェクトにインポートできます。
XML エディターから MUnit テストおよびテストスイートを設定します。
[Explorer] からプロジェクトの MUnit テストスイートを作成します。
[Explorer] で、/src/test/munit
にプロジェクトを開きます。
munit
フォルダーにスイートファイルを作成します。
フォルダー内を右クリックして [New File… (新規ファイル…)] を選択します。
スイートの名前を入力します (例: my-suite.xml
)。
ファイルで、XML 宣言 (<?xml>
) と、<mule/>
および <mule-config>
要素を入力します。例:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:munit="http://www.mulesoft.org/schema/mule/munit"
xmlns:munit-tools="http://www.mulesoft.org/schema/mule/munit-tools"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/munit http://www.mulesoft.org/schema/mule/munit/current/mule-munit.xsd
http://www.mulesoft.org/schema/mule/munit-tools
http://www.mulesoft.org/schema/mule/munit-tools/current/mule-munit-tools.xsd">
<munit:config name="my-suite.xml" />
</mule>
MUnit テストを作成するに進みます。
新規または既存のテストスイートで MUnit テストを作成します。MUnit XML のオートコンプリートを使用して、MUnit テストを開始します。テスト設定に関する指針は、前提条件に記載されている MUnit ドキュメントを参照してください。
エディターでテストスイート XML を開きます。
案内については、MUnit テストを開くを参照してください。
XML で、Ctrl+Space を押して使用可能なオプションを表示し、「munit」
と入力します。例:
munit:test
を選択し、スイートのテスト要素を挿入します。例:
<munit:test name="name" >
</munit:test>
名前や他の XML 要素を入力して、テストを作成します。
たとえば、次の例のような XML の行です。
<munit:test name="test-01-suite1">
<munit:validation>
<munit-tools:assert-equals actual='#["that"]' expected='#["this"]' />
</munit:validation>
</munit:test>
他の例については、MUnit の例を参照してください。
[Test (テスト)] パネルからテストを実行します。
案内については、MUnit テストを実行するを参照してください。
テストが完了したら、[Testing (テスト)] パネルからテスト結果をクリアできます。また、不要な場合はログをクリアすることもできます。
[Testing (テスト)] パネルから、image: ([Views and More Actions (表示およびその他のアクション)]) をクリックして、[Clear All Results (すべての結果をクリア)] を選択します。例:
パネルからのテスト結果のクリア"]
[Test Results (テスト結果)] パネルから、 ([Clear All Results (すべての結果をクリア)]) をクリックします。例:
パネルからのテスト結果のクリア"]
MUnit ドキュメントには、多数の例が記載されています。MUnit Cookbookを参照してください。
次の MUnit テストの例では、payload
が文字列 "Example"
であるかどうかを検証します。
<munit:test name="my-test" doc:id="e536ea1f" description="Test Example">
<munit:execution >
<flow-ref doc:name="Reference to Main Flow" doc:id="058d41ef" name="mainFlow"/>
</munit:execution>
<munit:validation >
<munit-tools:assert-equals actual="#[payload]" expected="Example"
message="The payload is expected to be 'Example'."/>
</munit:validation>
</munit:test>
munit:execution
、munit:validation
、および他の MUnit テスト要素については、MUnit Test Structure Fundamentals and MUnit Event Processorsを参照してください。