一目了然
目標: 看看你的應用程式如何處理 API 錯誤
時間: 5分鐘
插件:GenericRandomErrorPlugin
前置條件:設定開發代理
建置應用程式時,您應該測試應用程式如何處理 API 錯誤。 開發 Proxy 可讓您在應用程式中使用的任何 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 都不同,因此您通常會針對您想要模擬錯誤的每個 API 設定 實例 GenericRandomErrorPlugin 。 若要更輕鬆地管理組態,請在您要模擬錯誤的 API 之後命名 configSection 。 此外,請用外掛程式在urlsToWatch屬性中指定您想要模擬錯誤的 URL。 這可讓您更輕鬆地管理組態,並在未來重複使用。
接下來,將外掛程式設定為使用包含您想要模擬錯誤的檔案。
檔案:devproxyrc.json (加入同一個檔案)
{
"errorsContosoApi": {
"errorsFile": "errors-contoso-api.json"
}
}
最後,在錯誤檔案中,定義您想要仿真的錯誤回應清單。 例如,若要模擬具有自定義 JSON 回應的 500 錯誤,請使用下列設定:
檔案: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"
}
}
]
}
]
}
您可以視需要定義許多錯誤回應。
使用您的組態檔啟動 Dev Proxy,並使用您的應用程式來查看其如何處理錯誤。 針對每個相符的要求,Dev Proxy 會決定使用設定的失敗率模擬錯誤或將要求傳遞至原始 API。 當 Dev Proxy 模擬錯誤時,它會使用您在組態檔中定義之錯誤回應數位中的隨機錯誤。
暫時停用模擬測試
如果您在組態檔中使用模擬,則可以使用 --no-mocks 選項暫時停用它們。
devproxy --no-mocks
後續步驟
了解更多關於 GenericRandomErrorPlugin。
另請參閱
- 模擬緩慢的 API 回應 - 為 API 呼叫增加延遲
- 模擬 Rate-Limit API 回應 - 測試速率限制
- 變更請求失敗率 - 調整錯誤發生頻率
- 模擬 Microsoft Graph API 的錯誤 - Microsoft Graph 專屬錯誤
- 詞彙表 - 開發代理術語