Coverage (カバー率)

MUnit カバー率機能では、実行されたイベントプロセッサーの数をカウントして、一連の MUnit テストでどれぐらいの Mule アプリケーションが実行されたのかに関するメトリクスが提供されます。これにより、アプリケーションの品質基準を取得し、次のメトリクスを提供できます。

  • アプリケーション全体のカバー率: 以下の項目の平均。

  • リソースカバー率: src/main/mule の各 Mule 設定ファイルを参照します。

  • フローカバー率: フロー、サブフロー、バッチジョブのいずれかのコンポーネントを参照します。

カバー率レポートは、EE Runtime でのみ実行されます。アプリケーションに Mule CE Runtime の ​requiredProduct​ がある場合、「​Coverage is a EE only feature and you’ve selected to run over CE (カバー率は EE 専用の機能ですが、CE で実行するように選択されています)​」というメッセージが表示されます。EE Runtime に対して実行するには、​「ランタイム製品の指定」​を参照してください。

JSON 形式のカバー率レポートのサンプルを次に示します。
以下のコードのコールアウトを使用して、レポートの各項目を理解してください。

MUnit カバー率 - サンプル JSON レポート
{
  "coverage": 75.0, (1)
  "requiredApplicationCoverage": 40.0, (2)
  "requiredResourceCoverage": 30.0,    (2)
  "requiredFlowCoverage": 25.0,        (2)
  "flowCount": 3,             (3)
  "processorCount": 4,        (4)
  "coveredProcessorCount": 3, (5)
  "files": [ {
    "name": "file1.xml", (6)
    "flowCount": 1,      (7)
    "coverage": 100.0,   (8)
    "processorCount": 2, (9)
    "weight": 50.0,     (10)
    "flows": [ {
      "name": "file1Flow1", (11)
      "type": "FLOW",       (12)
      "coverage": 100.0,    (13)
      "messageProcessorCount": 2, (14)
      "coveredProcessorCount": 2, (15)
      "lines": [ { (16)
        "lineNumber": 11,
        "covered": true
      }, {
        "lineNumber": 12,
        "covered": true
      } ]
    } ]
  }, {
    "name": "file2.xml",
    "flowCount": 2,
    "coverage": 50.0,
    "processorCount": 2,
    "weight": 50.0,
    "flows": [ {
      "name": "file2Flow2",
      "type": "SCOPE",
      "coverage": 100.0,
      "messageProcessorCount": 1,
      "coveredProcessorCount": 1,
      "lines": [ {
        "lineNumber": 10,
        "covered": true
      } ]
    }, {
      "name": "file2Flow1",
      "type": "SCOPE",
      "coverage": 0.0,
      "messageProcessorCount": 1,
      "coveredProcessorCount": 0,
      "lines": [  {
        "lineNumber": 7,
        "covered": false
      } ]
    } ]
  } ]
}
1 アプリケーション全体のカバー率。
2 アプリケーション、リソース、およびフローに必要なカバー率。設定しない場合、デフォルトの -1 になります。
3 アプリケーションのフローの数。
4 アプリケーションのイベントプロセッサーの数。
5 カバーされるイベントプロセッサーの数。
6 そのファイルの名前。
7 そのファイルのフローの数。
8 そのファイルのカバー率。
9 そのファイルのイベントプロセッサーの数。
10 アプリケーション全体のカバー率に対するそのファイルの貢献度。
11 フローの名前。
12 最上位要素の種別。
カバー率の最上位要素の他の種別は、エラーハンドラーです。
13 そのフローのカバー率。
14 そのフローのイベントプロセッサーの数。
15 そのフローでカバーされるイベントプロセッサーの数。
16 そのファイル内のイベントプロセッサーを含む XML 行番号、およびそれらがカバーされたかどうか。