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 instance 구성합니다. 구성을 보다 쉽게 관리하려면 오류를 시뮬레이션할 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로 요청을 전달할지 결정합니다. 개발자 프록시는 오류를 시뮬레이션할 때 구성 파일에 정의한 오류 응답 배열의 임의 오류를 사용합니다.

모의 항목을 일시적으로 사용하지 않도록 설정

구성 파일에서 모의 항목을 사용하는 경우 옵션을 사용하여 --no-mocks 일시적으로 사용하지 않도록 설정할 수 있습니다.

devproxy --no-mocks

다음 단계

에 대해 자세히 알아봅니다 GenericRandomErrorPlugin.