---
schema_version: "1"
id: 18203278b1a2ed36579052e729f02bf4ecf1ad37b987fe3d77cb510d3909ea94
title: カバー率の Maven 設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/munit/2.3/coverage-maven-concept.md
canonical_url: https://docs.mulesoft.com/jp/munit/2.3/coverage-maven-concept
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f600d8d6dfae190395c8965adc2da3690c0194fd360b4628a4ca3c2cac4a2978
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# カバー率の Maven 設定

MUnit 2.x 以降、カバー率レポートのゴールは Maven のレポートセクションと統合されています。カバー率レポートは、​`coverage-report`​ ゴール中の Maven の ​`site`​ ライフサイクル中に生成されます。

次の設定は、Maven プラグインを使用して MUnit テストを実行する場合のみ適用されます。Studio からテストを実行する場合は適用されません。  
Studio でカバー率レポートを実行するには、​[「Studio でのカバー率の使用」](https://docs.mulesoft.com/jp/munit/2.3/coverage-studio-concept)​を参照してください。

MUnit カバー率 - サンプル Maven 設定

```xml
<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>
```

## [](#カバー率レポートタイプ)カバー率レポートタイプ

MUnit カバー率を有効にすると、コンソールにサマリーレポートが表示されます。デフォルトでは、他のアクションは実行されません。

```console
===============================================================================
MUnit Coverage Summary
===============================================================================
 * Resources: 2 - Flows: 3 - Processors: 4
 * Application Coverage: 75.00%
====================================================================================
```

MUnit カバー率には 4 つのレポートタイプがあります。

- コンソールレポート  
    コンソールレポートはコンソールに出力されます。サマリーレポートと連携して、すべてのリソース、フロー、プロセッサーの数、および全体のアプリケーションカバー率レベル、警告とエラー (存在する場合) を含む、MUnit 実行の概要が表示されます。
- HTML レポート  
    HTML レポートにはコンソールレポートと同じ情報が表示されますが、Web ブラウザーに合わせて書式設定されます。このレポートは、​`${application.path}/target/site/munit/coverage/`​ にあります。+
- JSON レポート JSON レポートには、HTML レポートと同じ情報が表示されますが、形式は JSON です。このレポートは、​`${application.path}/target/site/munit/coverage/munit-coverage.json`​ にあります。+
- SONAR レポートには、SonarQube レポートと同じ情報が JSON 形式で表示されます。

レポート生成を有効にするには、次の設定を追加します。

MUnit カバー率 - レポート設定

```xml
<coverage>
    <runCoverage>true</runCoverage>

    <formats>
        <format>console</format> (1)
        <format>html</format>    (2)
        <format>json</format>    (3)
        <format>sonar</format>   (4)
    </formats>
</coverage>
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>コンソールレポート</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td>HTML レポート</td></tr><tr><td><i class="conum" data-value="3"></i><b>3</b></td><td>JSON レポート</td></tr><tr><td><i class="conum" data-value="4"></i><b>4</b></td><td>SONAR レポート</td></tr></tbody></table>

設定に追加できるレポートタイプは、none (なし)、one (1 つ)、または all (すべて) です。

たとえば、JSON レポートの生成を設定するには、​`pom.xml`​ ファイルに次の設定を追加する必要があります。

```xml
<coverage>
    <runCoverage>true</runCoverage>

    <formats>
        <format>json</format>
    </formats>
</coverage>
```

## [](#最小カバー率レベルのセットアップ)最小カバー率レベルのセットアップ

MUnit カバー率の機能の 1 つは、特定のカバー率レベルに到達しない場合にビルドを失敗させることです。

MUnit カバー率は 3 つの異なるレベルを処理します。

- **アプリケーション**​: すべてのアプリケーションの全体的なカバー率。
- **リソース**​: 個々の Mule 設定ファイルのカバー率レベル。
- **フロー**​: 各フローのイベントプロセッサーのカバー率。

必要なカバー率レベルを定義する方法は、次のとおりです。

MUnit カバー率 - 必要なカバー率

```xml
<coverage>
    <runCoverage>true</runCoverage>
    <failBuild>true</failBuild>

    <requiredApplicationCoverage>75</requiredApplicationCoverage> (1)
    <requiredResourceCoverage>50</requiredResourceCoverage>
    <requiredFlowCoverage>50</requiredFlowCoverage>
</coverage>
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>各値はパーセントを表します。<br>パーセントが定義されていない場合はデフォルトで ​<strong>-1</strong>​ が設定され、そのレベルの要件が定義されていないことを示し、カバー率が低いためにビルドは失敗しません。</td></tr></tbody></table>

カバー率レベルを定義してプロパティ ​`failBuild`​ を ​**false**​ に設定し、レベルに到達していない場合、MUnit カバー率サマリーに警告が表示されます。

```console
===============================================================================
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)
====================================================================================
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>どのカバー率レベルが満たされていないか、カバー率レベルがどこで発生したかの詳細が示された警告。</td></tr></tbody></table>

## [](#フローまたはファイルの無視)フローまたはファイルの無視

もう 1 つの機能は、フローまたはファイルを無視する機能です。これにより、無視されたリソースには次が適用されます。

- カバー率データに含まれない。
- メッセージプロセッサーの総数には影響しない。
- フローがテストされていない場合、またはフローがカバー率メトリクスに到達していない場合でも、ビルドは失敗しない。

フローおよびファイルを無視する方法

MUnit カバー率 - フローとファイルの両方を無視

```xml
<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>
```

## [](#関連情報)関連情報

- [カバー率レポート](https://docs.mulesoft.com/jp/munit/2.3/munit-coverage-report)