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. Le proxy de développement 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 le GenericRandomErrorPlugin 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 l’API GenericRandomErrorPlugin sur laquelle vous souhaitez simuler des erreurs. Pour faciliter la gestion de la configuration, nommez-la 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. Cela facilite la gestion de la configuration et sa réutilisation à 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 le proxy de développement 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 requête à l’API d’origine à l’aide du taux d’échec configuré. Lorsque le proxy de développement simule une erreur, il utilise une erreur aléatoire à partir du tableau de réponses d’erreur que vous avez définies dans le fichier de configuration.

Désactiver temporairement les fictives

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

devproxy --no-mocks

Étape suivante

Découvrez plus en détail l’GenericRandomErrorPlugin.