Partager via


Tester mon application avec des erreurs aléatoires

Lors de la création d’applications, vous devez tester la façon dont votre application gère les erreurs d’API. Dev Proxy vous permet de simuler des erreurs sur n’importe quelle API que vous utilisez dans votre application à l’aide de GenericRandomErrorPlugin.

Simuler des erreurs sur n’importe quelle API

Pour commencer, activez dans GenericRandomErrorPlugin votre fichier de configuration.

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

Conseil

Étant donné que chaque API est différente, vous configurez généralement une instance de pour GenericRandomErrorPlugin chaque API sur laquelle vous souhaitez simuler des erreurs. Pour faciliter la gestion de la configuration, nommez le configSection après l’API sur laquelle vous souhaitez simuler des erreurs. En outre, spécifiez les URL sur lesquelles vous souhaitez simuler des erreurs dans la urlsToWatch propriété avec le plug-in. Il sera ainsi plus facile de gérer la configuration et de la réutiliser à l’avenir.

Ensuite, configurez le plug-in pour utiliser un fichier qui contient les erreurs que vous souhaitez simuler.

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

Enfin, dans le fichier d’erreurs, définissez la liste des réponses d’erreur que vous souhaitez simuler. Par exemple, pour simuler une erreur 500 avec une réponse JSON personnalisée, utilisez la configuration suivante :

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

Vous pouvez définir autant de réponses d’erreur que nécessaire.

Démarrez dev Proxy avec votre fichier de configuration et utilisez votre application pour voir comment elle gère les erreurs. Pour chaque demande correspondante, le proxy de développement détermine s’il faut simuler une erreur ou transmettre la demande à l’API d’origine à l’aide du taux d’échec configuré. Lorsque dev Proxy simule une erreur, il utilise une erreur aléatoire à partir du tableau de réponses d’erreur que vous avez défini dans le fichier de configuration.

Désactiver temporairement les fictives

Si vous utilisez des fictives dans votre fichier de configuration, vous pouvez les désactiver temporairement à l’aide de l’option --no-mocks .

devproxy --no-mocks

Étape suivante

En savoir plus sur .GenericRandomErrorPlugin