Freigeben über


Testen meiner App mit zufälligen Fehlern

Beim Erstellen von Apps sollten Sie testen, wie Ihre App API-Fehler behandelt. Mit Dev Proxy können Sie Fehler für jede API simulieren, die Sie in Ihrer App mit dem GenericRandomErrorPlugin verwenden.

Simulieren von Fehlern in einer beliebigen API

Aktivieren Sie zunächst die GenericRandomErrorPlugin 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 anders ist, konfigurieren Sie in der Regel eine Instanz der GenericRandomErrorPlugin einzelnen API, für die Fehler simuliert werden sollen. Um die Verwaltung der Konfiguration zu vereinfachen, benennen Sie nach der configSection API, für die Fehler simuliert werden sollen. Geben Sie außerdem die URLs an, für die Sie Fehler in der urlsToWatch Eigenschaft mit dem 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 Fehler enthält, die Sie simulieren möchten.

{
  "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 500-Fehler 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 beliebig viele Fehlerantworten definieren.

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

Vorübergehendes Deaktivieren von Mocks

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

devproxy --no-mocks

Nächster Schritt

Weitere Informationen finden Sie unter GenericRandomErrorPlugin.