使用隨機錯誤測試我的應用程式

建置應用程式時,您應該測試應用程式如何處理 API 錯誤。 Dev Proxy 可讓您使用 GenericRandomErrorPlugin,在應用程式中使用的任何 API 模擬錯誤。

模擬任何 API 上的錯誤

若要開始,請在組態檔中開啟 GenericRandomErrorPlugin

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.20.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "errorsContosoApi",
      "urlsToWatch": [
        "https://api.contoso.com/*"
      ]
    }
  ]
}

提示

因為每個 API 都不同,所以您通常會為每個想要模擬錯誤的 API 設定 實例 GenericRandomErrorPlugin 。 若要更輕鬆地管理組態,請在您要模擬錯誤的 API 後面命名 configSection 。 此外,請指定您想要使用外掛程式在 urlsToWatch 屬性中模擬錯誤的 URL。 這可讓您更輕鬆地管理設定,並在日後重複使用。

接下來,將外掛程式設定為使用包含您想要模擬之錯誤的檔案。

{
  "errorsContosoApi": {
    "errorsFile": "errors-contoso-api.json"
  }
}

最後,在錯誤檔案中,定義您想要仿真的錯誤回應清單。 例如,若要使用自定義 JSON 回應模擬 500 錯誤,請使用下列設定:

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.20.0/genericrandomerrorplugin.schema.json",
  "errors": [
    {
      "request": {
        "url": "https://api.contoso.com/*"
      },
      "responses": [
        {
          "statusCode": 500,
          "headers": [
            {
              "name": "content-type",
              "value": "application/json; charset=utf-8"
            }
          ],
          "body": {
            "code": "InternalServerError",
            "message": "Something went wrong"
          }
        }
      ]
    }
  ]
}

您可以視需要定義許多錯誤回應。

使用您的組態檔啟動 Dev Proxy,並使用您的應用程式來查看其如何處理錯誤。 針對每個相符的要求,Dev Proxy 會決定是否要模擬錯誤,或使用 設定的失敗率將要求傳遞至原始 API。 當 Dev Proxy 模擬錯誤時,它會從您在組態檔中定義的錯誤回應數位使用隨機錯誤。

暫時停用模擬

如果您在組態檔中使用模擬,您可以使用 選項暫時停用它們 --no-mocks

devproxy --no-mocks

後續步驟

深入瞭解 GenericRandomErrorPlugin