Aracılığıyla paylaş


Uygulamamı rastgele hatalarla test edin

Bir bakışta
Hedef: Uygulamanızın API hatalarını nasıl işlediğini görün
Süre: 5 dakika
Eklentiler:GenericRandomErrorPlugin
Önkoşullar:Geliştirme Ara Sunucusunu Ayarlama

Uygulama oluştururken uygulamanızın API hatalarını nasıl işlediğini test etmelisiniz. Geliştirme Proxy'si, GenericRandomErrorPlugin kullanarak uygulamanızda kullandığınız tüm API'lerde hataların benzetimini yapmanızı sağlar.

Herhangi bir API'de hataların benzetimini yapın

Başlamak için yapılandırma dosyanızda öğesini GenericRandomErrorPlugin etkinleştirin.

Dosya:devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "errorsContosoApi",
      "urlsToWatch": [
        "https://api.contoso.com/*"
      ]
    }
  ]
}

İpucu

Her API farklı olduğundan, genellikle üzerinde hata simülasyonu yapmak istediğiniz her API için bir GenericRandomErrorPlugin örneği yapılandırırsınız. Yapılandırmayı daha kolay yönetmek için, hataları benzetmek istediğiniz API'nin adını configSection olarak verin. Ayrıca, eklentinin urlsToWatch özelliğinde hataları benzetmek için istediğiniz URL'leri belirtin. Bu, yapılandırmayı yönetmeyi ve gelecekte yeniden kullanılmasını kolaylaştırır.

Ardından, eklentiyi benzetimini yapmak istediğiniz hataları içeren bir dosya kullanacak şekilde yapılandırın.

Dosya:devproxyrc.json (aynı dosyaya ekle)

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

Son olarak, hatalar dosyasında simülasyonunu yapmak istediğiniz hata yanıtlarının listesini tanımlayın. Örneğin, özel bir JSON yanıtıyla 500 hatasının benzetimini yapmak için aşağıdaki yapılandırmayı kullanın:

Dosya:errors-contoso-api.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/genericrandomerrorplugin.errorsfile.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"
          }
        }
      ]
    }
  ]
}

İhtiyacınız olan sayıda hata yanıtı tanımlayabilirsiniz.

Yapılandırma dosyanızla Dev Proxy'yi başlatın ve hataları nasıl işlediğini görmek için uygulamanızı kullanın. Her eşleşen istek için Dev Proxy, yapılandırılmış hata oranını kullanarak bir hatanın benzetimini mi yoksa isteğin özgün API'ye mi geçirileceğini belirler. Geliştirme Proxy'si bir hatanın benzetimini yaparken, yapılandırma dosyasında tanımladığınız hata yanıtları dizisinden rastgele bir hata kullanır.

Geçici olarak sahte nesneleri devre dışı bırak

Yapılandırma dosyanızda yazılımsal taklitleri kullanıyorsanız, --no-mocks seçeneğini kullanarak bunları geçici olarak devre dışı bırakabilirsiniz.

devproxy --no-mocks

Sonraki adım

GenericRandomErrorPlugin hakkında daha fazla bilgi edinin.

Ayrıca bakınız