使用隨機錯誤測試我的應用程式
建置應用程式時,您應該測試應用程式如何處理 API 錯誤。 開發 Proxy 可讓您使用 GenericRandomErrorPlugin,在應用程式中使用的任何 API 上模擬錯誤。
模擬任何 API 上的錯誤
若要開始,請在組態檔中開啟 GenericRandomErrorPlugin
。
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.20.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/microsoft/dev-proxy/main/schemas/v0.20.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,並使用您的應用程式來查看其如何處理錯誤。 針對每個相符的要求,Dev Proxy 會決定使用設定的失敗率模擬錯誤或將要求傳遞至原始 API。 當 Dev Proxy 模擬錯誤時,它會使用您在組態檔中定義之錯誤回應數位中的隨機錯誤。
暫時停用模擬
如果您在組態檔中使用模擬,則可以使用 --no-mocks
選項暫時停用它們。
devproxy --no-mocks
後續步驟
深入了解 GenericRandomErrorPlugin
。