Sdílet prostřednictvím


Testování aplikace s náhodnými chybami

Při sestavování aplikací byste měli otestovat, jak aplikace zpracovává chyby rozhraní API. Dev Proxy umožňuje simulovat chyby v libovolném rozhraní API, které používáte ve své aplikaci, pomocí GenericRandomErrorPlugin.

Simulace chyb v libovolném rozhraní API

Začněte tím, že v konfiguračním GenericRandomErrorPlugin souboru povolíte příkaz .

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

Tip

Vzhledem k tomu, že každé rozhraní API je jiné, obvykle nakonfigurujete instanci GenericRandomErrorPlugin rozhraní API pro každé rozhraní API, u kterého chcete simulovat chyby. Pokud chcete usnadnit správu konfigurace, pojmenujte configSection za rozhraní API, ve které chcete simulovat chyby. Dále zadejte adresy URL, na které chcete ve urlsToWatch vlastnosti modulu plug-in simulovat chyby. To usnadní správu konfigurace a opakované použití v budoucnu.

Dále nakonfigurujte modul plug-in tak, aby používal soubor obsahující chyby, které chcete simulovat.

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

Nakonec v souboru chyb definujte seznam chybových odpovědí, které chcete simulovat. Pokud například chcete simulovat chybu 500 s vlastní odpovědí JSON, použijte následující konfiguraci:

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/genericrandomerrorplugin.schema.json",
  "responses": [
    {
      "statusCode": 500,
      "headers": [
        {
          "name": "content-type",
          "value": "application/json; charset=utf-8"
        }
      ],
      "body": {
        "code": "InternalServerError",
        "message": "Something went wrong"
      }
    }
  ]
}

Můžete definovat tolik chybových odpovědí, kolik potřebujete.

Spusťte proxy pro vývoj pomocí konfiguračního souboru a pomocí aplikace se podívejte, jak zpracovává chyby. Pro každý odpovídající požadavek dev proxy určí, jestli se má simulovat chyba nebo předat požadavek do původního rozhraní API s využitím nakonfigurované míry selhání. Když dev proxy simuluje chybu, použije náhodnou chybu z pole chybových odpovědí, které jste definovali v konfiguračním souboru.

Dočasné zakázání napodobení

Pokud v konfiguračním souboru používáte napodobení, můžete je dočasně zakázat pomocí možnosti --no-mocks .

devproxy --no-mocks

Další krok

Další informace o .GenericRandomErrorPlugin