Delen via


Mijn app testen met willekeurige fouten

Bij het bouwen van apps moet u testen hoe uw app API-fouten verwerkt. Met dev Proxy kunt u fouten simuleren voor elke API die u in uw app gebruikt met behulp van genericRandomErrorPlugin.

Fouten simuleren in een API

Als u wilt beginnen, schakelt u het GenericRandomErrorPlugin in uw configuratiebestand in.

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

Tip

Omdat elke API verschilt, configureert u doorgaans een exemplaar van de GenericRandomErrorPlugin api waarvoor u fouten wilt simuleren. Geef de naam configSection na de API waarop u fouten wilt simuleren om de configuratie gemakkelijker te beheren. Geef bovendien de URL's op waarvoor u fouten in de urlsToWatch eigenschap wilt simuleren met de invoegtoepassing. Hierdoor is het eenvoudiger om de configuratie te beheren en deze in de toekomst opnieuw te gebruiken.

Configureer vervolgens de invoegtoepassing voor het gebruik van een bestand dat de fouten bevat die u wilt simuleren.

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

Definieer ten slotte in het foutenbestand de lijst met foutreacties die u wilt simuleren. Als u bijvoorbeeld een 500-fout wilt simuleren met een aangepast JSON-antwoord, gebruikt u de volgende configuratie:

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

U kunt zoveel foutreacties definiƫren als u nodig hebt.

Start Dev Proxy met uw configuratiebestand en gebruik uw app om te zien hoe de fouten worden verwerkt. Voor elke overeenkomende aanvraag bepaalt Dev Proxy of een fout moet worden gesimuleerd of de aanvraag moet worden doorgegeven aan de oorspronkelijke API met behulp van het geconfigureerde foutpercentage. Wanneer Dev Proxy een fout simuleert, wordt er een willekeurige fout gebruikt uit de matrix met foutreacties die u in het configuratiebestand hebt gedefinieerd.

Mocks tijdelijk uitschakelen

Als u mocks in uw configuratiebestand gebruikt, kunt u deze tijdelijk uitschakelen met behulp van de --no-mocks optie.

devproxy --no-mocks

Volgende stap

Meer informatie over de GenericRandomErrorPlugin.