임의 오류로 내 앱 테스트
앱을 빌드할 때 앱에서 API 오류를 처리하는 방법을 테스트해야 합니다. 개발자 프록시를 사용하면 GenericRandomErrorPlugin을 사용하여 앱에서 사용하는 모든 API에서 오류를 시뮬레이션할 수 있습니다.
모든 API에서 오류 시뮬레이션
시작하려면 구성 파일에서 사용하도록 설정합니다 GenericRandomErrorPlugin
.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.24.0/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/dotnet/dev-proxy/main/schemas/v0.24.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"
}
}
]
}
]
}
필요한 만큼 오류 응답을 정의할 수 있습니다.
구성 파일로 개발자 프록시를 시작하고 앱을 사용하여 오류를 처리하는 방법을 확인합니다. 일치하는 각 요청에 대해 Dev Proxy는 구성된 실패율을 사용하여 오류를 시뮬레이션할지 아니면 원래 API로 요청을 전달할지 결정합니다. 개발자 프록시는 오류를 시뮬레이트할 때 구성 파일에 정의한 오류 응답 배열의 임의 오류를 사용합니다.
모의 개체를 일시적으로 사용하지 않도록 설정
구성 파일에서 모의 개체를 사용하는 경우 옵션을 사용하여 --no-mocks
일시적으로 사용하지 않도록 설정할 수 있습니다.
devproxy --no-mocks
다음 단계
GenericRandomErrorPlugin
에 대해 자세히 알아보세요.
Dev Proxy