Test Etmənin İcmalı

React komponentlərini digər JavaScript kodlarının test edildiyi kimi test etmək mümkündür.

React komponentlərini test etməyin bir neçə üsulu var. Geniş formada bu üsullar iki kateqoriyaya ayrılırlar:

  • Sadə test mühitində komponent ağaclarını test edərək nəticənin təsdiq edilməsi.
  • Bütün applikasiyanın real brauzer mühitində icra edilməsi (başqa adla “end-to-end” testləri).

Bu sənədlərdə ilk üsul üçün test strateqiyalarından danışacağıq. End-to-end testlərin möhüm iş axınlarında olan reqressiyalar üçün faydalı olmasına baxmayaraq bu testlər React komponentləri ilə maraqlanmırlar. Bu səbəbdən, end-to-end testlər bu bölmənin əhatə dairəsindən kənardadır.

Kompromislər

Test etmə alətlərini seçdikdə biz neçə kompromislərlə üzləşə bilərsiniz:

  • İterasiya sürəti və ya real mühit: Bəzi alətlər dəyişik edilməsini və nəticənin görünməsini tezləşdirir, amma brauzer davranışlarının düzgün modelini yaratmır. Digər alətlər isə real brauzer mühitindən istifadə edir, amma iterasiya sürətini azaldır və davamlı inteqrasiya serverlərində problem yaradırlar.
  • Mokların həcmi: Komponentlər ilə işlədikdə “vahid” (unit) və “inteqrasiya” testlərini tam ayırmaq çətinləşir. Əgər anket ilə işləyirsinizsə, anketin testi düymələri də yoxlamalıdır? Yoxsa düymə komponentinin öz test dəsti olmalıdır? Düyməni refaktorinq etdikdə anket testi sınmalıdır?

Fərqli komandalar və produktlar bu suallara fərqli cavablandırırlar.

Tövsiyə Olunan Alətlər

Jest JavaScript test icra edicisi jsdom-dan istifadə edərək DOM-un istifadəsinə imkan yaradır. jsdom real brauzerin təxmini simulyasiyasıdır. Buna baxmayaraq bu simulyasiya React komponentlərini test etmək üçün kifayətdir. Jest, iterasiya sürətinin yüksək olmasına imkan yaradır. Əlavə olaraq, bu alətin modullarıtaymerləri mok etmək kimi xüsusiyyətləri ilə kodun icrasını daha çox idarə etmək mümkündür.

React Testing Library, React komponentlərini tətbiq detallarından asılı olmadan test etmək üçün köməkçi funksiyalar təmin edir. Bu yanaşma ilə refaktorinq çox asanlaşır və imkanlılıq üçün ən yaxşı praktikaların istifadə edilməsi məcbur olunur. Bu alətin, uşaqları render etmədən komponentlərin “dayaz” render edilməsi üçün heç bir yol təmin etmədiyinə baxmayaraq Jest kimi test icra edicisi ilə uşaq komponentləri mok edərək eyni nəticəyə çatmaq mümkündür.

Daha Ətraflı

Bu bölmə iki səhifəyə ayrılıb:

  • Reseptlər: React komponentlərini test etmək üçün çox işlədilən üslublar.
  • Mühitlər: React komponentləri üçün test mühiti quraşdırdıqda nələrə fikir vermək.