Testowanie aplikacji przy użyciu błędów losowych
Podczas kompilowania aplikacji należy przetestować sposób obsługi błędów interfejsu API przez aplikację. Serwer proxy deweloperów umożliwia symulowanie błędów w dowolnym interfejsie API używanym w aplikacji przy użyciu funkcji GenericRandomErrorPlugin.
Symulowanie błędów w dowolnym interfejsie API
Aby rozpocząć, włącz element GenericRandomErrorPlugin
w pliku konfiguracji.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/rc.schema.json",
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "errorsContosoApi",
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
]
}
Porada
Ponieważ każdy interfejs API jest inny, zazwyczaj konfigurujesz wystąpienie dla każdego interfejsu GenericRandomErrorPlugin
API, na którym chcesz symulować błędy. Aby ułatwić zarządzanie konfiguracją, nadaj configSection
nazwę po interfejsie API, na którym chcesz symulować błędy. Ponadto określ adresy URL, dla których chcesz symulować błędy we właściwości za urlsToWatch
pomocą wtyczki. Ułatwi to zarządzanie konfiguracją i ponowne użycie jej w przyszłości.
Następnie skonfiguruj wtyczkę, aby używała pliku zawierającego błędy, które chcesz symulować.
{
"errorsContosoApi": {
"errorsFile": "errors-contoso-api.json"
}
}
Na koniec w pliku błędów zdefiniuj listę odpowiedzi na błędy, które chcesz symulować. Aby na przykład zasymulować błąd 500 z niestandardową odpowiedzią JSON, użyj następującej konfiguracji:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/genericrandomerrorplugin.schema.json",
"responses": [
{
"statusCode": 500,
"headers": [
{
"name": "content-type",
"value": "application/json; charset=utf-8"
}
],
"body": {
"code": "InternalServerError",
"message": "Something went wrong"
}
}
]
}
W razie potrzeby można zdefiniować dowolną liczbę odpowiedzi na błędy.
Uruchom serwer proxy dev z plikiem konfiguracji i użyj aplikacji, aby zobaczyć, jak obsługuje błędy. Dla każdego pasującego żądania serwer proxy deweloperów określa, czy symulować błąd, czy przekazać żądanie do oryginalnego interfejsu API przy użyciu skonfigurowanego współczynnika awarii. Gdy serwer proxy deweloperów symuluje błąd, używa losowego błędu z tablicy odpowiedzi błędów zdefiniowanych w pliku konfiguracji.
Tymczasowo wyłącz makiety
Jeśli używasz makiety w pliku konfiguracji, możesz tymczasowo je wyłączyć przy użyciu --no-mocks
opcji .
devproxy --no-mocks
Następny krok
Dowiedz się więcej o obiekcie GenericRandomErrorPlugin
.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla