執行摘要插件

建立通過 Proxy 的要求摘要。

提示

在組態中使用記者外掛程式,將摘要儲存至檔案。

命令提示字元的螢幕快照,其中含有開發人員 Proxy 執行摘要,其中包含已攔截要求的相關信息。

命令提示字元的螢幕快照,其中包含開發人員 Proxy 攔截的要求摘要。

設定範例

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "executionSummaryPlugin"
    }
  ],
  "executionSummaryPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/executionsummaryplugin.schema.json",
    "groupBy": "url"
  }
}

設定屬性

屬性 說明 預設
groupBy Proxy 應該如何將摘要中的資訊分組。 可用選項: url、 messageType url

命令列選項

名稱 說明 預設
--summary-group-by Proxy 應該如何將摘要中的資訊分組。 可用選項: url、 messageType url

Output

當你停止錄影時,ExecutionSummaryPlugin 會產生報告。 要將報告儲存為 JSON,請在你的設定中 ExecutionSummaryPlugin 後加入 JsonReporter 。 JsonReporter 會將報告寫入目前工作目錄中命名 ExecutionSummaryPlugin_JsonReporter.json 的檔案。 如果該檔案已經存在,Dev Proxy 會在檔名後加上時間戳,例如 ExecutionSummaryPlugin_JsonReporter_20261105104151.json。

JSON 報告是一個巢狀的物件,深度為三層。 最底層的數值是顯示 Dev Proxy 記錄訊息的次數。 每個關卡的意義取決於設定。groupBy

Dev Proxy 在報告中使用以下可讀的類別名稱:

類別 說明
Requests intercepted 開發代理攔截了請求。 只有在 groupBy 是 時才會被納入 messageType
Requests passed through Dev Proxy 傳遞給原始伺服器的請求
Requests mocked 外掛回傳模擬回應的請求
Requests with chaos 外掛模擬錯誤或延遲的請求
Failures 失敗的請求
Tips 插件為請求記錄的提示
Warnings 插件會為請求記錄警告
Unknown 其他訊息記錄了請求,例如請求時間戳記及跳過請求的外掛訊息

依網址分組

當 groupBy 時 url,報告呈現以下形狀:

{
  "<method> <url>": {
    "<category>": {
      "<message>": <count>
    }
  }
}
Level 說明
1 每個截獲請求的 HTTP 方法與網址,例如 GET https://jsonplaceholder.typicode.com/users。 每個方法和網址組合都會出現一次,不管你的應用程式呼叫它多少次
2 開發代理為請求記錄的訊息類別
3 Dev Proxy 記錄的訊息,會對應到該方法和網址的記錄次數

以下範例展示了一個應用程式的報告,該報告呼叫 GET https://jsonplaceholder.typicode.com/users 了一次,Dev Proxy 嘲笑了一次,兩次 GET https://jsonplaceholder.typicode.com/posts 呼叫了 Dev Proxy 通過。 Unknown條目會被簡化以求閱讀。

{
  "GET https://jsonplaceholder.typicode.com/users": {
    "Unknown": {
      "2026-11-05T10:41:13.1151430+00:00": 1,
      "GET https://jsonplaceholder.typicode.com/users": 1
    },
    "Requests mocked": {
      "200 https://jsonplaceholder.typicode.com/users": 1
    }
  },
  "GET https://jsonplaceholder.typicode.com/posts": {
    "Unknown": {
      "No matching mock response found": 2,
      "GET https://jsonplaceholder.typicode.com/posts": 2
    },
    "Requests passed through": {
      "Passed through": 2
    }
  }
}

依訊息類型分組

當 groupBy 時 messageType,報告呈現以下形狀:

{
  "<category>": {
    "<message>": {
      "<method> <url>": <count>
    }
  }
}
Level 說明
1 Dev Proxy 記錄的訊息類別
2 Dev Proxy 記錄的訊息。 對於 和 Requests interceptedRequests passed through 類別,此層級重複類別名稱
3 HTTP 方法和請求的 URL,映射到 Dev Proxy 記錄該方法和 URL 的訊息次數

以下範例顯示相同請求依訊息類型分組的報告。 為了便於閱讀,分類 Unknown 會被縮短。

{
  "Requests intercepted": {
    "Requests intercepted": {
      "GET https://jsonplaceholder.typicode.com/users": 1,
      "GET https://jsonplaceholder.typicode.com/posts": 2
    }
  },
  "Unknown": {
    "No matching mock response found": {
      "GET https://jsonplaceholder.typicode.com/posts": 2
    }
  },
  "Requests mocked": {
    "200 https://jsonplaceholder.typicode.com/users": {
      "GET https://jsonplaceholder.typicode.com/users": 1
    }
  },
  "Requests passed through": {
    "Requests passed through": {
      "GET https://jsonplaceholder.typicode.com/posts": 2
    }
  }
}

提示

要檢查 CI 管線中請求 Dev Proxy 攔截,請使用 messageType 群組並讀取物件的 ["Requests intercepted"]["Requests intercepted"] 金鑰。 分組時 url ,請閱讀最頂層的調性。 每個金鑰以 HTTP 方法開頭,後接空格和網址。 不要只依賴分類內容 Unknown ,因為它包含時間戳記和其他診斷訊息。

也請參閱

後續步驟