Testování aplikace s náhodnými chybami
Při vytváření aplikací byste měli otestovat, jak aplikace zpracovává chyby rozhraní API. Dev Proxy umožňuje simulovat chyby u libovolného rozhraní API, které ve své aplikaci používáte, pomocí GenericRandomErrorPlugin.
Simulace chyb v libovolném rozhraní API
Začněte tím, že povolíte GenericRandomErrorPlugin
konfigurační soubor.
{
"$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/*"
]
}
]
}
Tip
Vzhledem k tomu, že se každé rozhraní API liší, obvykle nakonfigurujete instanci GenericRandomErrorPlugin
jednotlivých rozhraní API, na které chcete simulovat chyby. Pokud chcete usnadnit správu konfigurace, pojmenujte configSection
po rozhraní API, na které chcete simulovat chyby. Kromě toho zadejte adresy URL, na které chcete simulovat chyby ve urlsToWatch
vlastnosti s modulem plug-in. To usnadní správu konfigurace a jeho opětovné použití v budoucnu.
Dále nakonfigurujte modul plug-in tak, aby používal soubor obsahující chyby, které chcete simulovat.
{
"errorsContosoApi": {
"errorsFile": "errors-contoso-api.json"
}
}
Nakonec v souboru chyb definujte seznam chybových odpovědí, které chcete simulovat. Pokud chcete například simulovat chybu 500 s vlastní odpovědí JSON, použijte následující konfiguraci:
{
"$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"
}
}
]
}
]
}
Můžete definovat tolik chybových odpovědí, kolik potřebujete.
Spusťte dev Proxy s konfiguračním souborem a pomocí aplikace zjistěte, jak tyto chyby zpracovává. Pro každý odpovídající požadavek dev proxy určuje, jestli se má simulovat chyba, nebo předat požadavek původnímu rozhraní API pomocí nakonfigurované míry selhání. Když dev proxy simuluje chybu, použije náhodnou chybu z pole chybových odpovědí, které jste definovali v konfiguračním souboru.
Dočasné zakázání napodobení
Pokud v konfiguračním souboru používáte napodobení, můžete je dočasně zakázat pomocí této --no-mocks
možnosti.
devproxy --no-mocks
Další krok
Další informace o nástroji GenericRandomErrorPlugin
.