Testen meiner App mit zufälligen Fehlern

Beim Erstellen von Apps sollten Sie testen, wie Ihre App API-Fehler verarbeitet. Mit dev Proxy können Sie Fehler für jede API simulieren, die Sie in Ihrer App verwenden, indem Sie genericRandomErrorPlugin verwenden.

Simulieren von Fehlern für eine beliebige API

Um zu starten, aktivieren Sie die GenericRandomErrorPlugin in Ihrer Konfigurationsdatei.

{
  "$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/*"
      ]
    }
  ]
}

Tipp

Da jede API unterschiedlich ist, konfigurieren Sie in der Regel eine instance der für jede API, für die GenericRandomErrorPlugin Sie Fehler simulieren möchten. Um die Verwaltung der Konfiguration zu vereinfachen, benennen Sie die configSection nach der API, für die Sie Fehler simulieren möchten. Geben Sie außerdem die URLs an, für die Sie Fehler in der -Eigenschaft mit dem urlsToWatch Plug-In simulieren möchten. Dadurch wird es einfacher, die Konfiguration zu verwalten und in Zukunft wiederzuverwenden.

Konfigurieren Sie als Nächstes das Plug-In, um eine Datei zu verwenden, die die zu simulierenden Fehler enthält.

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

Definieren Sie schließlich in der Fehlerdatei die Liste der Fehlerantworten, die Sie simulieren möchten. Verwenden Sie beispielsweise die folgende Konfiguration, um einen Fehler 500 mit einer benutzerdefinierten JSON-Antwort zu simulieren:

{
  "$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"
          }
        }
      ]
    }
  ]
}

Sie können so viele Fehlerantworten definieren, wie Sie benötigen.

Starten Sie den Dev Proxy mit Ihrer Konfigurationsdatei, und verwenden Sie Ihre App, um zu sehen, wie die Fehler behandelt werden. Für jede übereinstimmende Anforderung bestimmt der Dev-Proxy, ob ein Fehler simuliert oder die Anforderung mithilfe der konfigurierten Fehlerrate an die ursprüngliche API übergeben werden soll. Wenn der Dev-Proxy einen Fehler simuliert, wird ein zufälliger Fehler aus dem Array von Fehlerantworten verwendet, das Sie in der Konfigurationsdatei definiert haben.

Vorübergehendes Deaktivieren von Mocks

Wenn Sie Mocks in Ihrer Konfigurationsdatei verwenden, können Sie sie mithilfe der --no-mocks Option vorübergehend deaktivieren.

devproxy --no-mocks

Nächster Schritt

Weitere Informationen finden Sie unter GenericRandomErrorPlugin.