Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На первый взгляд
Цель: Узнайте, как приложение обрабатывает ошибки API
Время: 5 минут
Подключаемые модули:GenericRandomErrorPlugin
Предварительные требования:настройка прокси-сервера разработки
При создании приложений необходимо проверить, как приложение обрабатывает ошибки API. Прокси-сервер разработки позволяет имитировать ошибки в любом API, используемом в приложении, с помощью genericRandomErrorPlugin.
Имитация ошибок в любом API
Чтобы начать, включите GenericRandomErrorPlugin в вашем файле конфигурации.
Файл: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/*"
]
}
]
}
Совет
Так как каждый API отличается, обычно настраивается экземпляр GenericRandomErrorPlugin каждого API, на который вы хотите имитировать ошибки. Чтобы упростить управление конфигурацией, назовите configSection в соответствии с API, на котором вы хотите имитировать ошибки. Кроме того, укажите URL-адреса, на которых вы хотите имитировать ошибки в свойстве urlsToWatch с подключаемым модулем. Это позволит упростить управление конфигурацией и повторно использовать ее в будущем.
Затем настройте подключаемый модуль для использования файла, содержащего ошибки, которые нужно имитировать.
Файл:devproxyrc.json (добавьте в тот же файл)
{
"errorsContosoApi": {
"errorsFile": "errors-contoso-api.json"
}
}
Наконец, в файле ошибок определите список ответов об ошибках, которые требуется имитировать. Например, чтобы имитировать ошибку 500 с пользовательским ответом JSON, используйте следующую конфигурацию:
Файл: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"
}
}
]
}
]
}
Вы можете определить столько ответов об ошибках, сколько вам нужно.
Запустите прокси-сервер разработки с файлом конфигурации и используйте приложение, чтобы узнать, как он обрабатывает ошибки. Для каждого соответствующего запроса прокси разработки определяет, следует ли имитировать ошибку или передавать запрос в исходный API с помощью настроенной частоты сбоев. При имитации ошибки прокси-сервер разработчика использует случайную ошибку из массива ответов об ошибках, определенных в файле конфигурации.
Временно отключить макеты
Если в файле конфигурации используются макеты, их можно временно отключить с помощью --no-mocks параметра.
devproxy --no-mocks
Следующий шаг
Дополнительные сведения о GenericRandomErrorPlugin.
См. также
- Имитация медленных ответов API. Добавление задержки в вызовы API
- Имитация ответов API Rate-Limit — ограничение скорости тестирования
- Изменение частоты сбоев запросов . Настройка частоты возникновения ошибок
- Имитация ошибок из API Microsoft Graph — ошибки, относящиеся к Microsoft Graph
- Глоссарий — терминология прокси для разработки