Bagikan melalui


Uji aplikasi saya dengan kesalahan acak

Saat membuat aplikasi, Anda harus menguji bagaimana aplikasi Anda menangani kesalahan API. Dev Proxy memungkinkan Anda mensimulasikan kesalahan pada API apa pun yang Anda gunakan di aplikasi Anda menggunakan GenericRandomErrorPlugin.

Mensimulasikan kesalahan pada API apa pun

Untuk memulai, aktifkan GenericRandomErrorPlugin dalam file konfigurasi Anda.

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

Tips

Karena setiap API berbeda, Anda biasanya mengonfigurasi instans GenericRandomErrorPlugin untuk setiap API yang ingin Anda simulasikan kesalahannya. Untuk mempermudah pengelolaan konfigurasi, beri nama configSection setelah API yang ingin Anda simulasikan kesalahannya. Selain itu, tentukan URL yang ingin Anda gunakan untuk mensimulasikan kesalahan dalam properti urlsToWatch dengan plugin. Ini akan mempermudah pengelolaan konfigurasi dan menggunakannya kembali di masa mendatang.

Selanjutnya, konfigurasikan plugin untuk menggunakan file yang berisi kesalahan yang ingin Anda simulasikan.

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

Terakhir, dalam file kesalahan, tentukan daftar respons kesalahan yang ingin Anda simulasikan. Misalnya, untuk mensimulasikan kesalahan 500 dengan respons JSON kustom, gunakan konfigurasi berikut:

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

Anda dapat menentukan respons kesalahan sebanyak yang Anda butuhkan.

Mulai Dev Proxy dengan file konfigurasi Anda dan gunakan aplikasi Anda untuk melihat caranya menangani kesalahan. Untuk setiap permintaan yang cocok, Dev Proxy menentukan apakah akan mensimulasikan kesalahan atau meneruskan permintaan ke API asli menggunakan tingkat kegagalan yang dikonfigurasi. Saat Dev Proxy mensimulasikan kesalahan, ia menggunakan kesalahan acak dari array respons kesalahan yang Anda tentukan dalam file konfigurasi.

Menonaktifkan mock sementara

Jika Anda menggunakan tiruan dalam file konfigurasi, Anda dapat menonaktifkannya untuk sementara dengan menggunakan opsi .--no-mocks

devproxy --no-mocks

Langkah selanjutnya

Pelajari selengkapnya tentang GenericRandomErrorPlugin.