Błędy w JavaScript
Błędy w JavaScript to nieprawidłowości w kodzie, które mogą prowadzić do wyjątków, nieoczekiwanych wyników lub problemów w działaniu aplikacji. Bywają związane z obsługą operacji asynchronicznych, testowaniem, organizacją kodu i diagnostyką.
Obsługa błędów asynchronicznych
Błędy asynchroniczne w JavaScript wymagają obsługi odrzuconych obietnic, aby nie pozostawały bez reakcji.
Promise.allmoże prowadzić doUnhandled Promise Rejection, jeśli odrzucona obietnica nie zostanie obsłużona.
Testy BDD i dokumentacja
Testy BDD w JavaScript opisują oczekiwane zachowanie aplikacji i pomagają śledzić jej rozwój.
- Mogą pełnić funkcję dokumentacji działania aplikacji oraz listy zmian wprowadzanych w aplikacji.
- Ułatwiają także sprawdzanie, czy logika biznesowa działa prawidłowo.
TDD i testy jednostkowe
W TDD szybka informacja zwrotna i izolacja testów pomagają sprawnie wykrywać błędy w JavaScript.
- Testy powinny wykonywać się w mniej niż sekundę, aby kolejne uruchamianie ich nie spowalniało pracy.
- Testy jednostkowe nie mogą używać wejścia ani wyjścia, czyli I/O; dzięki temu sprawdzają pojedyncze elementy w odizolowaniu od zewnętrznych zasobów.
Modułowość i refaktoryzacja
Modułowość i refaktoryzacja pomagają ograniczać ryzyko zmian w złożonym kodzie JavaScript.
- Dodanie nowej funkcjonalności jako osobnego modułu może zmniejszyć ryzyko regresji.
- Testy automatyczne mogą pomóc w przepisaniu mikroserwisu.
Diagnostyka i produktywność
Błędy w JavaScript łatwiej analizować, gdy aplikacja pozostawia czytelne informacje o swoim działaniu.
- Logi aplikacji mogą pomagać w rozwiązywaniu problemów występujących na produkcji.
Tematy
Przeglądaj szczegółowe informacje
Twierdzenia w tym opracowaniu
- Promise.all może powodować Unhandled Promise Rejection1 źródło
- Testy BDD mogą służyć jako dokumentacja działania aplikacji1 źródło
- Testy BDD mogą służyć jako lista zmian w aplikacji1 źródło
- Testy BDD mogą pomóc zweryfikować prawidłowość logiki biznesowej1 źródło
- Aby wykonywać TDD testy powinny wykonywać się w mniej niż sekundę1 źródło
- Testy jednostkowe nie mogą używać I/O1 źródło
- Dodanie nowej funkcjonalności jako osobnego modułu może zmniejszyć ryzyko regresji1 źródło
- Testy automatyczne mogą pomóc przepisać mikroserwis1 źródło
- Logi aplikacji mogą pomóc rozwiązywać problemy na produkcji1 źródło