Testare l'app con errori casuali

Quando si creano app, è necessario testare il modo in cui l'app gestisce gli errori dell'API. Dev Proxy consente di simulare gli errori in qualsiasi API usata nell'app usando GenericRandomErrorPlugin.

Simulare gli errori in qualsiasi API

Per iniziare, abilitare nel GenericRandomErrorPlugin file di configurazione.

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

Suggerimento

Poiché ogni API è diversa, in genere si configura un'istanza GenericRandomErrorPlugin di per ogni API in cui si vogliono simulare errori. Per semplificare la gestione della configurazione, denominare dopo l'API configSection in cui si vogliono simulare gli errori. Specificare anche gli URL su cui si vogliono simulare gli errori nella urlsToWatch proprietà con il plug-in. In questo modo sarà più semplice gestire la configurazione e riutilizzarla in futuro.

Configurare quindi il plug-in per usare un file contenente gli errori da simulare.

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

Infine, nel file degli errori definire l'elenco delle risposte di errore da simulare. Ad esempio, per simulare un errore 500 con una risposta JSON personalizzata, usare la configurazione seguente:

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

È possibile definire tutte le risposte di errore necessarie.

Avviare Dev Proxy con il file di configurazione e usare l'app per vedere come gestisce gli errori. Per ogni richiesta corrispondente, Dev Proxy determina se simulare un errore o passare la richiesta all'API originale usando la frequenza di errore configurata. Quando Dev Proxy simula un errore, usa un errore casuale dalla matrice di risposte di errore definite nel file di configurazione.

Disabilitare temporaneamente i mock

Se si usano simulazioni nel file di configurazione, è possibile disabilitarle temporaneamente usando l'opzione --no-mocks .

devproxy --no-mocks

Passaggio successivo

Altre informazioni su GenericRandomErrorPlugin.