Megosztás a következőn keresztül:


Teszteld az alkalmazásomat véletlenszerű hibákkal

Alkalmazások készítésekor tesztelnie kell, hogyan kezeli az alkalmazás az API-hibákat. A Dev Proxy lehetővé teszi, hogy hibákat szimuláljon az alkalmazásban használt API-kban a GenericRandomErrorPlugin használatával.

Hibák szimulálása bármely API-n

Első lépésként engedélyezze a GenericRandomErrorPlugin beállítást a konfigurációs fájlban.

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

Tipp.

Mivel az egyes API-k eltérőek, általában minden olyan API-hoz konfigurálja a GenericRandomErrorPlugin példányt, amelyen hibákat szeretne szimulálni. A konfiguráció egyszerűbb kezelése érdekében nevezze el azt az configSection API-t, amelyen hibákat szeretne szimulálni. Emellett adja meg azokat az URL-címeket, amelyeken hibákat szeretne szimulálni a urlsToWatch tulajdonságban a plugin segítségével. Ez megkönnyíti a konfiguráció kezelését és a jövőbeni újrafelhasználását.

Ezután konfigurálja a beépülő modult a szimulálni kívánt hibákat tartalmazó fájl használatára.

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

Végül a hibafájlban adja meg a szimulálni kívánt hibaválaszok listáját. Ha például egy 500-ás hibát szeretne szimulálni egy egyéni JSON-válaszsal, használja a következő konfigurációt:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.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"
          }
        }
      ]
    }
  ]
}

Annyi hibaválaszt definiálhat, amennyit csak szeretne.

Indítsa el a dev proxyt a konfigurációs fájllal, és az alkalmazással ellenőrizze, hogyan kezeli a hibákat. Minden egyező kérés esetében a Dev Proxy határozza meg, hogy szimuláljon-e hibát, vagy átadja a kérést az eredeti API-nak a konfigurált hibaarány használatával. Ha a Dev Proxy hibát szimulál, véletlenszerű hibát használ a konfigurációs fájlban definiált hibaválaszok tömbjében.

A makettek ideiglenes letiltása

Ha a konfigurációs fájlban használ maketteket, ideiglenesen letilthatja őket a --no-mocks beállítással.

devproxy --no-mocks

Következő lépés

További információ a GenericRandomErrorPlugin-ról.