Share via


ランダム エラーでアプリをテストする

アプリをビルドするときは、アプリが API エラーを処理する方法をテストする必要があります。 開発プロキシを使用すると、 GenericRandomErrorPlugin を使用して、アプリで使用するすべての API でエラーをシミュレートできます。

任意の API でエラーをシミュレートする

開始するには、構成ファイルで を GenericRandomErrorPlugin 有効にします。

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

ヒント

各 API は異なるため、通常、エラーをシミュレートする API ごとに の GenericRandomErrorPlugin インスタンスを構成します。 構成を簡単に管理できるようにするには、エラーをシミュレートする API の後に という名前 configSection を付けます。 さらに、 プラグインを使用して、 プロパティで urlsToWatch エラーをシミュレートする URL を指定します。 これにより、構成を簡単に管理し、将来再利用できるようになります。

次に、シミュレートするエラーを含むファイルを使用するようにプラグインを構成します。

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

最後に、エラー ファイルで、シミュレートするエラー応答の一覧を定義します。 たとえば、カスタム JSON 応答で 500 エラーをシミュレートするには、次の構成を使用します。

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/genericrandomerrorplugin.schema.json",
  "responses": [
    {
      "statusCode": 500,
      "headers": [
        {
          "name": "content-type",
          "value": "application/json; charset=utf-8"
        }
      ],
      "body": {
        "code": "InternalServerError",
        "message": "Something went wrong"
      }
    }
  ]
}

必要な数のエラー応答を定義できます。

構成ファイルで開発プロキシを起動し、アプリを使用してエラーの処理方法を確認します。 一致する要求ごとに、Dev Proxy は、 構成されたエラー率を使用して、エラーをシミュレートするか、元の API に要求を渡すかを決定します。 Dev Proxy は、エラーをシミュレートするときに、構成ファイルで定義したエラー応答の配列からのランダム エラーを使用します。

モックを一時的に無効にする

構成ファイルでモックを使用する場合は、 オプションを使用 --no-mocks して一時的に無効にすることができます。

devproxy --no-mocks

次のステップ

の詳細については、 GenericRandomErrorPluginこちらを参照してください。