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
.