Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMUnit 2.x 以降、カバー率レポートのゴールは Maven のレポートセクションと統合されています。カバー率レポートは、coverage-report
ゴール中の Maven の site
ライフサイクル中に生成されます。
<plugin>
<groupId>com.mulesoft.munit.tools</groupId>
<artifactId>munit-maven-plugin</artifactId>
<version>${munit.version}</version>
<executions>
<execution>
<id>test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
<goal>coverage-report</goal>
</goals>
</execution>
</executions>
<configuration>
<coverage>
<runCoverage>true</runCoverage>
<failBuild>false</failBuild>
<requiredApplicationCoverage>75</requiredApplicationCoverage>
<requiredResourceCoverage>50</requiredResourceCoverage>
<requiredFlowCoverage>50</requiredFlowCoverage>
<formats>
<format>console</format>
<format>html</format>
</formats>
</coverage>
</configuration>
</plugin>
xml
MUnit カバー率を有効にすると、コンソールにサマリーレポートが表示されます。デフォルトでは、他のアクションは実行されません。
===============================================================================
MUnit Coverage Summary
===============================================================================
* Resources: 2 - Flows: 3 - Processors: 4
* Application Coverage: 75.00%
====================================================================================
MUnit カバー率には 3 つのレポートタイプがあります。
コンソールレポートはコンソールに出力されます。サマリーレポートと連携して、すべてのリソース、フロー、プロセッサーの数、および全体のアプリケーションカバー率レベル、警告とエラー (存在する場合) を含む、MUnit 実行の概要が表示されます。
HTML レポートには同じ情報が表示されますが、Web ブラウザーに合わせて書式設定されます。
レポートにアクセスするには、${application.path}/target/site/munit/coverage/
パスに対するアプリケーションフォルダー構造を参照し、summary.html
ファイルを探します。これはレポートの開始点であり、すべてのデータ間を移動できます。
JSON レポートには、HTML レポートと同じ情報が JSON 形式で表示されます。
JSON レポートにアクセスするには、アプリケーションフォルダー構造内の ${application.path}/target/site/munit/coverage/munit-coverage.json
ファイルを探します。
レポート生成を有効にするには、次の設定を追加します。
<coverage>
<runCoverage>true</runCoverage>
<formats>
<format>console</format> (1)
<format>html</format> (2)
<format>json</format> (3)
</formats>
</coverage>
xml
1 | コンソールレポート |
2 | HTML レポート |
3 | JSON レポート |
設定に追加できるレポートタイプは、none (なし)、one (1 つ)、または all (すべて) です。
たとえば、JSON レポートの生成を設定するには、pom.xml
ファイルに次の設定を追加する必要があります。
<coverage>
<runCoverage>true</runCoverage>
<formats>
<format>json</format>
</formats>
</coverage>
xml
MUnit カバー率の機能の 1 つは、特定のカバー率レベルに到達しない場合にビルドを失敗させることです。
MUnit カバー率は 3 つの異なるレベルを処理します。
アプリケーション: すべてのアプリケーションの全体的なカバー率。
リソース: 個々の Mule 設定ファイルのカバー率レベル。
フロー: 各フローのイベントプロセッサーのカバー率。
必要なカバー率レベルを定義する方法は、次のとおりです。
<coverage>
<runCoverage>true</runCoverage>
<failBuild>true</failBuild>
<requiredApplicationCoverage>75</requiredApplicationCoverage> (1)
<requiredResourceCoverage>50</requiredResourceCoverage>
<requiredFlowCoverage>50</requiredFlowCoverage>
</coverage>
xml
1 | 各値はパーセントを表します。 パーセントが定義されていない場合はデフォルトで -1 が設定され、そのレベルの要件が定義されていないことを示し、カバー率が低いためにビルドは失敗しません。 |
カバー率レベルを定義してプロパティ failBuild
を false に設定し、レベルに到達していない場合、MUnit カバー率サマリーに警告が表示されます。
===============================================================================
MUnit Coverage Summary
===============================================================================
* Resources: 2 - Flows: 3 - Processors: 4
* Application Coverage: 75.00%
----------------------------- WARNING --------------------------------------
* Flow: file2.xml -> file2Flow1 coverage is below defined limit. Required: 50.0% - Current: 00.00% (1)
====================================================================================
1 | どのカバー率レベルが満たされていないか、カバー率レベルがどこで発生したかの詳細が示された警告。 |
もう 1 つの機能は、フローまたはファイルを無視する機能です。これにより、無視されたリソースには次が適用されます。
カバー率データとしてカウントされない。
メッセージプロセッサーの総数には影響しない。
フローがテストされていない場合、またはフローがカバー率メトリクスに到達していない場合でも、ビルドは失敗しない。
フローおよびファイルを無視する方法
<coverage>
<runCoverage>true</runCoverage>
<failBuild>true</failBuild>
<requiredApplicationCoverage>100</requiredApplicationCoverage>
<requiredResourceCoverage>100</requiredResourceCoverage>
<requiredFlowCoverage>100</requiredFlowCoverage>
<ignoreFlows>
<ignoreFlow>flow-1</ignoreFlow>
<ignoreFlow>flow-2</ignoreFlow>
...
<ignoreFlow>flow-n</ignoreFlow>
</ignoreFlows>
<ignoreFiles>
<ignoreFile>mule-config-1.xml</ignoreFile>
<ignoreFile>mule-config-2.xml</ignoreFile>
...
<ignoreFile>mule-config-n.xml</ignoreFile>
</ignoreFiles>
</coverage>
xml