Flex Gateway新着情報
Governance新着情報
Monitoring API Managerテストケースを開発するときに、src/test/java
にあるカスタム Java クラスを使用することもできます。Java クラスは、DataWeave や Java Module を介して使用できます。
カスタムクラスを使用している場合、クラスのパッケージを mule-artifact.json
ファイルにエクスポートする必要があります。
{
"minMuleVersion": "4.x.x",
"classLoaderModelLoaderDescriptor": {
"id": "mule",
"attributes": {
"exportedPackages": [
"com.example.test"
]
}
}
}
たとえば、MUnit テストで src/test/java/com/example/
にある MyUtilClass.java
クラスを使用するとします。
package com.example.test;
public class Helper {
public static long getCurrentMillis() {
return System.currentTimeMillis();
}
}
DataWeave を使用して静的メソッドを呼び出すには、java!
プレフィックスをクラスのパッケージ名に追加します。
<munit:test name="usingJavaInDW">
<munit:behavior>
<set-variable variableName="number" value="#[java!com::example::test::Helper::currentMillis()]" />
</munit:behavior>
<munit:execution>
<flow-ref name="myFlow"/>
</munit:execution>
</munit:test>
Java Module を使用してカスタム Java クラスを呼び出す手順は、次のとおりです。
Java Module がプロジェクトにあることを確認します。
<dependency>
<groupId>org.mule.module</groupId>
<artifactId>mule-java-module</artifactId>
<version>${javaModule.version}</version>
<classifier>mule-plugin</classifier>
<scope>test</scope>
</dependency>
Java Module のいずれかの操作を使用します。
この例では、クラスの静的メソッドを呼び出します。
<munit:test name="usingJavaInDW">
<munit:behavior>
<set-variable variableName="number" value="#[java!com::example::test::Helper::currentMillis()]" />
</munit:behavior>
<munit:execution>
<flow-ref name="myFlow"/>
</munit:execution>
</munit:test>