Compartilhar 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 usada em seu aplicativo usando o GenericRandomErrorPlugin.

Simule erros em qualquer API

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

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

Dica

Como cada API é diferente, você normalmente configura uma instância da GenericRandomErrorPlugin para cada API na qual deseja simular erros. Para facilitar o gerenciamento da configuração, nomeie a configSection API com a qual você deseja simular erros. Além disso, especifique as URLs nas quais você deseja simular erros na urlsToWatch propriedade com o plug-in. 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"
  }
}

Por fim, 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/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"
          }
        }
      ]
    }
  ]
}

Você pode definir quantas respostas de erro forem necessárias.

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 as 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óxima etapa

Saiba mais sobre o GenericRandomErrorPlugin.