Dela via


Testa min app med slumpmässiga fel

När du skapar appar bör du testa hur din app hanterar API-fel. Med Dev Proxy kan du simulera fel på alla API:er som du använder i din app med hjälp av GenericRandomErrorPlugin.

Simulera fel på alla API:er

Starta genom att GenericRandomErrorPlugin aktivera i konfigurationsfilen.

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

Dricks

Eftersom varje API är olika konfigurerar du vanligtvis en instans av GenericRandomErrorPlugin för varje API som du vill simulera fel på. För att göra det enklare att hantera konfigurationen namnger configSection du efter det API som du vill simulera fel på. Ange dessutom de URL:er som du vill simulera fel på i urlsToWatch egenskapen med plugin-programmet. Detta gör det enklare att hantera konfigurationen och återanvända den i framtiden.

Konfigurera sedan plugin-programmet så att det använder en fil som innehåller de fel som du vill simulera.

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

Slutligen definierar du listan över felsvar som du vill simulera i felfilen. Om du till exempel vill simulera ett 500-fel med ett anpassat JSON-svar använder du följande konfiguration:

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

Du kan definiera så många felsvar som du behöver.

Starta Dev Proxy med konfigurationsfilen och använd din app för att se hur den hanterar felen. För varje matchande begäran avgör Dev Proxy om du vill simulera ett fel eller skicka begäran till det ursprungliga API:et med hjälp av den konfigurerade felfrekvensen. När Dev Proxy simulerar ett fel används ett slumpmässigt fel från matrisen med felsvar som du definierade i konfigurationsfilen.

Inaktivera mocks tillfälligt

Om du använder mocks i konfigurationsfilen kan du tillfälligt inaktivera dem med hjälp --no-mocks av alternativet .

devproxy --no-mocks

Gå vidare

Läs mer om GenericRandomErrorPlugin.