Testare l'app con errori casuali
Quando si creano app, è necessario testare il modo in cui l'app gestisce gli errori dell'API. Dev Proxy consente di simulare gli errori in qualsiasi API usata nell'app usando GenericRandomErrorPlugin.
Per iniziare, abilitare nel GenericRandomErrorPlugin
file di configurazione.
{
"$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/*"
]
}
]
}
Suggerimento
Poiché ogni API è diversa, in genere si configura un'istanza GenericRandomErrorPlugin
di per ogni API in cui si vogliono simulare errori. Per semplificare la gestione della configurazione, denominare dopo l'API configSection
in cui si vogliono simulare gli errori. Specificare anche gli URL su cui si vogliono simulare gli errori nella urlsToWatch
proprietà con il plug-in. In questo modo sarà più semplice gestire la configurazione e riutilizzarla in futuro.
Configurare quindi il plug-in per usare un file contenente gli errori da simulare.
{
"errorsContosoApi": {
"errorsFile": "errors-contoso-api.json"
}
}
Infine, nel file degli errori definire l'elenco delle risposte di errore da simulare. Ad esempio, per simulare un errore 500 con una risposta JSON personalizzata, usare la configurazione seguente:
{
"$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"
}
}
]
}
]
}
È possibile definire tutte le risposte di errore necessarie.
Avviare Dev Proxy con il file di configurazione e usare l'app per vedere come gestisce gli errori. Per ogni richiesta corrispondente, Dev Proxy determina se simulare un errore o passare la richiesta all'API originale usando la frequenza di errore configurata. Quando Dev Proxy simula un errore, usa un errore casuale dalla matrice di risposte di errore definite nel file di configurazione.
Se si usano simulazioni nel file di configurazione, è possibile disabilitarle temporaneamente usando l'opzione --no-mocks
.
devproxy --no-mocks
Altre informazioni su GenericRandomErrorPlugin
.
Feedback su Dev Proxy
Dev Proxy è un progetto di open source. Selezionare un collegamento per fornire feedback: