Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Совет
Впервые сталкиваетесь с хаос-тестированием? Узнайте , что такое тестирование хаоса и как это помогает создавать более устойчивые приложения.
На первый взгляд
Цель: Узнайте, как приложение обрабатывает ошибки API
Время: 5 минут
Подключаемые модули:GenericRandomErrorPlugin
Предварительные требования:настройка прокси-сервера разработки
При создании приложений необходимо проверить, как приложение обрабатывает ошибки API. Прокси-сервер разработки позволяет имитировать ошибки в любом API, используемом в приложении, с помощью genericRandomErrorPlugin.
Имитация ошибок в любом API
Чтобы начать, включите GenericRandomErrorPlugin в вашем файле конфигурации.
Файл:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.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": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.0.0/genericrandomerrorplugin.schema.json",
"errorsFile": "errors-contoso-api.json"
}
}
Наконец, в файле ошибок определите список ответов об ошибках, которые требуется имитировать. Например, чтобы имитировать ошибку 500 с пользовательским ответом JSON, используйте следующую конфигурацию:
Файл:errors-contoso-api.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.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
- Использование прокси-сервера разработки в CI/CD — автоматизация тестирования устойчивости в конвейере
- Глоссарий — терминология прокси для разработки