Partilhar via


Testar meu aplicativo com erros aleatórios

Ao criar aplicativos, você deve testar como seu aplicativo lida com erros de API. O Dev Proxy permite simular erros em qualquer API que você usa em seu aplicativo usando o GenericRandomErrorPlugin.

Simule erros em qualquer API

Para começar, habilite o GenericRandomErrorPlugin no arquivo de configuração.

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

Gorjeta

Como cada API é diferente, você normalmente configura uma instância da GenericRandomErrorPlugin para cada API na qual deseja simular erros. Para facilitar a gestão da configuração, atribua o nome à configSection com base na API sobre a qual pretende simular erros. Além disso, especifique as URLs nas quais pretende simular erros na propriedade urlsToWatch através do plugin. Isso facilitará o gerenciamento da configuração e a reutilização no futuro.

Em seguida, configure o plug-in para usar um arquivo que contenha os erros que você deseja simular.

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

Finalmente, no arquivo de erros, defina a lista de respostas de erro que você deseja simular. Por exemplo, para simular um erro 500 com uma resposta JSON personalizada, use a seguinte configuração:

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

Você pode definir quantas respostas de erro precisar.

Inicie o Dev Proxy com seu arquivo de configuração e use seu aplicativo para ver como ele lida com os erros. Para cada solicitação correspondente, o Dev Proxy determina se deve simular um erro ou passar a solicitação para a API original usando a taxa de falha configurada. Quando o Dev Proxy simula um erro, ele usa um erro aleatório da matriz de respostas de erro que você definiu no arquivo de configuração.

Desativar temporariamente simulações

Se você usar simulações em seu arquivo de configuração, poderá desativá-las temporariamente usando a --no-mocks opção.

devproxy --no-mocks

Próximo passo

Saiba mais sobre o GenericRandomErrorPlugin.