Wyniki ankietyStateOfJS: które frameworki testujące JS będą rządzić 2019?

Jan 9, 2019 – 8 min read

Szybki przegląd najbardziej in-zapotrzebowanie na frameworki testujące javascript, które zajmą centralne miejsce w ekosystemie javascript i z którymi deweloperzy powinni się zapoznać w 2019 roku

Photo by Louis Reed on Unsplash

TL;DR: w tym artykule przyjrzymy się najlepszym najbardziej pożądanym frameworkom do testowania javascript i przejrzymy je w oparciu o spostrzeżenia ze stanu wyników javascript.

Generalnie istnieją zasadniczo trzy rodzaje lub sposoby, w jakie aplikacja javascript może być testowana. Pierwszym sposobem jest testowanie poszczególnych funkcji oddzielnie lub niezależnie poprzez rodzaj metody czarnej skrzynki, w której dane wejściowe są dostarczane z już znanym wyjściem, aby upewnić się, że oczekiwane wyniki są produkowane, nazywa się to testowaniem jednostkowym. Proces testowania całego komponentu lub aplikacji w celu sprawdzenia, czy oczekiwane wyniki są uzyskiwane, nazywamy testowaniem integracyjnym. Trzeci sposób jest znany jako Testowanie Interfejsu Użytkownika, jest on używany do testowania aplikacji poprzez kontrolowanie przeglądarki bez dużego nacisku na wewnętrzne funkcjonowanie w celu przetestowania oczekiwań.

Co to jest StateOfJS

State of JS jest w zasadzie corocznym badaniem wszystkiego co JavaScript, gdzie opinie deweloperów, którzy biorą udział w badaniu są rejestrowane i pięknie wizualizowane, aby pokazać spostrzeżenia, które oznaczają stan JavaScript w danym roku.

Punkty danych obejmują frameworki frontendowe, bazy danych, zarządzanie stanem, relacje między frameworkami, odbiór i łatwość użycia, języki, które kompilują się do JavaScript, frameworki mobilne, narzędzia do budowania, narzędzia do testowania JavaScript i wiele więcej. Jest to bardzo wszechstronna ankieta JavaScript, która została rozpoczęta w 2016 roku przez Sachę Greifa i kilku innych pomocników, a teraz ma ponad 20 000 odpowiedzi deweloperów w najnowszej edycji.

Dlaczego StateOfJS?

Tak, State of JS jest w rzeczywistości bardzo pierwszą ankietą deweloperów tylko JavaScript, która jest powszechnie szanowana, jeśli chodzi o społeczność JavaScript. Istnieją inne bardzo popularne ankiety takie jak stackoverflow developer survey z ponad 100,000 respondentów, a nawet Jetbrain’s State of Developer Ecosystem Report z ponad 6,000 respondentów, my jednak zamierzamy skupić się dzisiaj na ankiecie State of JS.

Zróbmy szybki przegląd tych frameworków testowych w kolejności, w jakiej zostały zwizualizowane w ankiecie state of javascript 2018.

Tip: Podczas pracy z komponentami (React, ES6 itp.) Użyj Bitu, aby łatwo udostępniać, organizować i ponownie wykorzystywać je między aplikacjami – aby budować szybciej. Możesz również użyć go do indywidualnego testowania komponentów w chmurze, przed ich użyciem. Give it a try.

Jest

Jest, prawdopodobnie jeden z najpopularniejszych javascriptowych frameworków testowych z ponad 22 000 ⭐️ na githubie został zbudowany i jest stale utrzymywany przez zespół Facebooka. Jest to zero-konfiguracyjny javascriptowy framework testowy zalecany przez React i najłatwiejszy w użyciu również. Jest ma bardzo imponujący wskaźnik akceptacji w 2018 roku przez społeczność javascript.

Jest bardzo wydajny, z jednoznacznym i wygodnym interfejsem użytkownika. Statki z szpiegami i mocks i domyślnie tworzy globale testowe. Umożliwia również testowanie migawkowe i posiada wbudowane narzędzie do badania pokrycia kodu. Jest niewiarygodnie szybki i jest jedną z najlepszych opcji dla początkujących, którzy chcieliby zacząć testować swój kod javascript. Istnieje również mnóstwo zasobów dostępnych online na temat Jest.

Mocha

Mocha z ponad 16,000 ⭐️on github jest najczęściej używanym frameworkiem testowym javascript od lat. Jest używany z asercjami stron trzecich, szyderstwem i narzędziami szpiegowskimi, takimi jak chai lub enzym. Poza masywnym ekosystemem Mocha ma dobrze ugruntowane opcje z doskonałą dokumentacją. Jest bardzo elastyczna i otwarta na wiele rozszerzeń.

Choć widzimy mały dryf dominacji od Mocha do Jest, ale Mocha jest nadal najczęściej używanym narzędziem testowym i najbardziej zależną biblioteką, a programiści javascript nie odpuszczają jeszcze głównie z powodu bogactwa wolności i elastyczności, które pochodzą z korzystania z Mocha. Społeczność Mocha jest bardzo masywna i istnieją tony zasobów na temat użycia i przypadków użycia.

Jasmine

Jasmine jest powszechnie znany jako framework testujący, który jest oficjalnie zalecany przez Angular dla deweloperów do użycia, framework Jest został zbudowany w oparciu o Jasmine. Z ponad 14,000 ⭐️on github Jasmine jest jednym z najbardziej popularnych frameworków do testowania javascript, jest to również jeden z najstarszych zbyt z największą ilością zasobów i wsparcia społeczności. Programiści Angulara znajdą go łatwego w użyciu i integracji, ponieważ oficjalna dokumentacja Angulara również sugeruje użycie Jasmine. Jest bardzo łatwy do rozpoczęcia, jest to prawdopodobnie jedna z rzeczy, które zainspirowały Jest. W 2018 roku, zgodnie z ankietą, widzimy zmianę w użyciu Jasmine na Jest, a także więcej aplikacji react testowanych przez jasmine w porównaniu do angular.

Bardzo ważne jest, aby zauważyć, że testy dla aplikacji Angular mogą być łatwo uruchamiane za pomocą Jest i praktycznie chodzi tylko o preferencje.

Karma

Karma z ponad 10 000 ⭐️on github jest rodzajem frameworka testowego javascript ogólnego zastosowania. Możesz uruchamiać testy w przeglądarce lub w środowiskach podobnych do przeglądarki, takich jak jsdom. Istnieje wsparcie dla narzędzi ciągłej integracji, takich jak travis i jenkins, testy mogą być uruchamiane na prawdziwych urządzeniach lub na bezgłowej instancji phantomJs. Jest to framework agnostic, więc możesz opisać swoje testy za pomocą Jasmine, Mocha lub napisać prosty adapter dla dowolnego frameworka, który Ci się podoba.

Testy mogą być również uruchamiane zdalnie z terminala lub IDE lub za pomocą usług takich jak BrowserStack.

AVA

AVA z ponad 15,000 ⭐️on github jest obecnie najbardziej minimalistycznym javascriptowym frameworkiem testowym, który uruchamia testy równolegle. AVA jest test runnerem dla Node.js ze zwięzłym API, szczegółowym wyjściem błędów, objęciem nowych funkcji językowych i izolacją procesów, które pozwalają pisać testy bardziej efektywnie.

Statkuje z obsługą testów migawkowych i typescript i uruchamia testy w trybie zegarka, co czyni go naprawdę szybkim; zapewnia również izolowane środowisko dla każdego pliku testowego. Jest łatwy do uruchomienia i posiada kolekcję zasobów dostępnych online.

Cypress

Z ponad 9,000 ⭐️on github, Cypress jest bardzo szybkim i niezawodnym narzędziem do testowania javascript. Zasadniczo wstrzykuje testy do aplikacji internetowej, zapewnia bardzo przejrzystą i obszerną dokumentację i jest w ciągłej rywalizacji z innym frameworkiem testowym TestCafe.

Obsługuje również wsparcie dla Mocha i ma naprawdę dobry sposób na rejestrowanie wyników testów w pulpicie nawigacyjnym i łatwe debugowanie. Jest to framework testowy, na który należy zwrócić uwagę w 2019 roku z masowo rosnącym wskaźnikiem akceptacji.

Puppeteer

Z ponad 43 000 ⭐️on github, Puppeteer zbudowany przez zespół w Google jest biblioteką Node, która zapewnia interfejs API wysokiego poziomu do kontrolowania Chrome lub Chromium za pośrednictwem protokołu DevTools. Puppeteer domyślnie działa bezgłowo, ale może być skonfigurowany do uruchamiania pełnego (bezgłowego) Chrome lub Chromium.

Jest nowy na scenie testowej, ale już ma wielu deweloperów używających go (dzięki google!) Jest również dość szybki, ponieważ jest natywny, nie obsługuje obecnie wielu rozszerzeń, ale przyszłość jest naprawdę jasna i obiecująca.

QUnit

Z ponad 3700 ⭐️on github, QUnit to framework do testowania jednostek JavaScript, który został pierwotnie opracowany do testowania jQuery, jQuery UI i jQuery Mobile, jest to ogólny framework do testowania dowolnego kodu JavaScript. Obsługuje środowiska po stronie klienta w przeglądarkach internetowych oraz po stronie serwera.

QUnit jest podobny do innych frameworków testów jednostkowych, takich jak JUnit, ale wykorzystuje cechy, które zapewnia JavaScript i pomaga w testowaniu kodu w przeglądarce, takie jak wbudowane wsparcie dla asynchroniczności i obsługi wyjątków.

Chai

Z 6,000 ⭐️on github, Chai jest biblioteką asercji Behaviour-Driven Development i Test-driven development, podobną do wbudowanej assert w Node. Ułatwia testowanie, dając ci wiele asercji, które możesz uruchomić przeciwko swojemu kodowi. Posiada wsparcie dla każdego innego frameworka testującego jak Mocha.

TestCafe

TestCafe z ponad 5,900 ⭐️on github, jest frameworkiem węzła używanym do testowania aplikacji javascript od końca do końca. Posiada wsparcie dla skryptów i naprawdę ładny interfejs do rejestrowania wyników testów.

Działa na wszystkich popularnych środowiskach, w tym Windows, MacOS i Linux. Obsługuje przeglądarki desktopowe, mobilne, zdalne i w chmurze (UI lub bezgłowe). Posiada również bardzo rozbudowaną dokumentację i rosnącą społeczność.

Honorable Mentions

Protractor

Conclusion

.

admin

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

lg