Karma to skrypt uruchomieniowy JavaScript zbudowany w środowisku Node.js i przeznaczony do testów jednostkowych.
Kątomierz jest przeznaczony do kompleksowych testów i używa Selenium Web Driver do przeprowadzania testów.
Oba zostały wykonane przez zespół Angular. Możesz użyć dowolnej biblioteki asercji.
Screencast: Karma Pierwsze kroki
powiązane :
plusy :
- Używa node.js, więc jest kompatybilny z Win / OS X / Linux
- Uruchom testy z przeglądarki lub bez głowicy za pomocą PhantomJS
- Uruchom na wielu klientach jednocześnie
- Opcja uruchamiania, przechwytywania i automatycznego wyłączania przeglądarek
- Opcja uruchamiania serwera / klientów na komputerze programistycznym lub osobno
- Uruchom testy z wiersza poleceń (może być zintegrowany z Ant / maven)
- Napisz testy w stylu xUnit lub BDD
- Obsługuje wiele ram testowych JavaScript
- Automatyczne uruchamianie testów przy zapisywaniu
- Prośby o proxy obejmują wiele domen
- Możliwe dostosowanie:
- Rozszerz go, aby zawinął inne frameworki testowe (Jasmine, Mocha, wbudowane QUnit)
- Twoje własne twierdzenia / obalenia
- Reporterzy
- Wyrzutnie przeglądarki
- Wtyczka do WebStorm
- Obsługiwane przez Netbeans IDE
Wady :
Nie mam żadnych uprawnień do komentowania cech, mocnych i słabych stron mocha.js, ale ktoś mi zaufał społeczności JS.
Lista funkcji zgłoszonych przez jej stronę internetową:
- obsługa przeglądarki
- proste wsparcie asynchroniczne, w tym obietnice
- raportowanie pokrycia testowego
- obsługa łańcucha różnicy
- javascript # API do uruchamiania testów
- odpowiedni status wyjścia do obsługi CI itp
- automatycznie wykrywa i wyłącza kolorowanie dla non-tty
- odwzorowuje nieprzechwycone wyjątki do poprawnego przypadku testowego
- obsługa limitu czasu testu asynchronicznego
- limity czasu specyficzne dla testu
- obsługa powiadomień warczenie
- raportuje czas trwania testu
- podkreśla powolne testy
- obsługa obserwatora plików
- globalna zmienna detekcja wycieków
- opcjonalnie uruchom testy, które pasują do wyrażenia regularnego
- automatyczne wyjście, aby zapobiec „zawieszeniu się” przy aktywnej pętli
- łatwo generuje meta-pakiety i przypadki testowe
- Obsługa plików mocha.opts
- klikalne tytuły pakietów do filtrowania wykonania testu
- obsługa debuggera węzła
- wykrywa wiele wywołań do done ()
- użyj dowolnej biblioteki asercji
- raportowanie rozszerzalne, w pakiecie z ponad 9 reporterami
- rozszerzalne testowe DSL lub „interfejsy”
- przed, po, przed każdym, po każdym haku
- dowolna obsługa transpilatora (skrypt kawy itp.)
- Pakiet TextMate
To już nie istnieje, zamiast tego przekierowuje do sequential.js
Yolpo to narzędzie do wizualizacji wykonywania javascript. Zachęcamy programistów JavaScript API do pisania przypadków użycia, aby pokazać i powiedzieć swoje API. Takie przypadki użycia stanowią podstawę testów regresji.
Futurystyczny tester z wbudowanym wsparciem dla ES2015. Mimo że JavaScript jest jednowątkowy, operacje we / wy w Node.js mogą występować równolegle ze względu na jego asynchroniczny charakter. AVA korzysta z tego i jednocześnie wykonuje testy, co jest szczególnie korzystne w przypadku ciężkich testów IO. Ponadto pliki testowe są uruchamiane równolegle jako osobne procesy, co zapewnia jeszcze lepszą wydajność i izolowane środowisko dla każdego pliku testowego.
- Minimalna i szybka
- Prosta składnia testu
- Uruchamia testy jednocześnie
- Wymusza pisanie testów atomowych
- Żadnych niejawnych globałów
- Izolowane środowisko dla każdego pliku testowego
- Napisz swoje testy w ES2015
- Obietnica wsparcia
- Obsługa funkcji generatora
- Obsługa funkcji asynchronicznych
- Obserwowalne wsparcie
- Ulepszone zapewnia
- Opcjonalne wyjście TAP
- Wyczyść ślady stosu
Tester Runner JavaScript zbudowany przy pomocy Node.js. Bardzo modułowy i elastyczny. Ma własną bibliotekę asercji, ale możesz dodać własną, jeśli chcesz. Biblioteka twierdzenia jest odłączony, dzięki czemu można z niego korzystać także z innych testowych biegaczy. Zamiast używać assert(!...)
lub expect(...).not...
, używa, refute(...)
co jest fajnym imho.
Zestaw narzędzi do testowania JavaScript w przeglądarce. Testuje przeglądarkę za pomocą automatyzacji przeglądarki (myśl JsTestDriver), statycznego testowania strony HTML w stylu QUnit, testowania w przeglądarkach bezgłowych (PhantomJS, jsdom, ...) i innych. Spójrz na przegląd !
Zestaw narzędzi do testowania Node.js. Otrzymujesz tę samą bibliotekę przypadków testowych, bibliotekę asercji itp. Jest to również świetne dla przeglądarki hybrydowej i kodu Node.js. Napisz swoją skrzynkę testową za pomocą Buster.JS i uruchom ją zarówno w Node.js, jak i w prawdziwej przeglądarce.
Screencast: Buster.js Pierwsze kroki (2:45)
plusy :
- Używa node.js, więc jest kompatybilny z Win / OS X / Linux
- Uruchom testy z przeglądarki lub bez głowy za pomocą PhantomJS (wkrótce)
- Uruchom na wielu klientach jednocześnie
- Obsługuje testy NodeJS
- Nie trzeba uruchamiać serwera / klientów na komputerze programistycznym (nie wymaga IE)
- Uruchom testy z wiersza poleceń (może być zintegrowany z Ant / maven)
- Napisz testy w stylu xUnit lub BDD
- Obsługuje wiele ram testowych JavaScript
- Odkładaj testy zamiast je komentować
- Wbudowany SinonJS
- Automatyczne uruchamianie testów przy zapisywaniu
- Prośby o proxy obejmują wiele domen
- Możliwe dostosowanie:
- Rozszerz go, aby zawinął inne środowiska testowe (wbudowany JsTestDriver)
- Twoje własne twierdzenia / obalenia
- Reporterzy (xUnit XML, tradycyjne kropki, specyfikacja, tap, TeamCity i więcej wbudowanych)
- Dostosuj / zamień kod HTML używany do uruchamiania testów przeglądarki
- Integracja TextMate i Emacs
Wady :
- Stil w wersji beta, więc może być wadliwy
- Brak wtyczki dla Eclipse / IntelliJ (jeszcze)
- Nie grupuje wyników według systemu operacyjnego / przeglądarki / wersji, takich jak TestSwarm *. W wynikach testu drukuje jednak nazwę i wersję przeglądarki.
- Brak historii poprzednich wyników testów, takich jak TestSwarm *
- Nie działa w pełni w systemie Windows od maja 2014
* TestSwarm to także serwer Continuous Integration, podczas gdy potrzebujesz osobnego serwera CI dla Buster.js. Jednak generuje raporty xUnit XML, więc integracja z serwerami Hudson , Bamboo lub innymi serwerami CI powinna być łatwa .
https://github.com/jquery/testswarm
TestSwarm oficjalnie nie jest już aktywnie rozwijany, jak podano na stronie GitHub. Polecają Karmę, przeglądarkę stosów przeglądarki lub stażystę.
Jest to struktura oparta na zachowaniu (jak podano w cytacie poniżej), która może zainteresować programistów znających Ruby lub Ruby on Rails. Składnia jest oparta na RSpec, które są używane do testowania w projektach Railsowych.
Specyfikacje Jasmine można uruchamiać ze strony HTML (w sposób qUnit) lub z testera (jako Karma).
Jasmine to oparta na zachowaniu platforma programistyczna do testowania kodu JavaScript. Nie zależy od żadnych innych struktur JavaScript. Nie wymaga DOM.
Jeśli masz doświadczenie w korzystaniu z tego środowiska testowego, prześlij więcej informacji :)
Strona projektu: http://jasmine.github.io/
QUnit koncentruje się na testowaniu JavaScript w przeglądarce, zapewniając jednocześnie jak największą wygodę programistom. Napis na stronie:
QUnit to potężny, łatwy w użyciu pakiet testów jednostkowych JavaScript. Jest używany w projektach jQuery, jQuery UI i jQuery Mobile i jest w stanie przetestować dowolny ogólny kod JavaScript
QUnit dzieli się pewną historią z TestSwarm (powyżej):
QUnit został pierwotnie opracowany przez Johna Resiga jako część jQuery. W 2008 r. Otrzymała własną dokumentację domową, nazwę i API, dzięki czemu inni mogą z niej korzystać również w testach jednostkowych. W tym czasie nadal zależało to od jQuery. Przepisanie w 2009 roku naprawiło to, teraz QUnit działa całkowicie autonomicznie. Metody asercji QUnit są zgodne ze specyfikacją CommonJS Unit Testing, na którą QUnit miał do pewnego stopnia wpływ.
Strona główna projektu: http://qunitjs.com/
Innym doskonałym narzędziem jest sinon.js autorstwa Christiana Johansena, autora Test-Driven JavaScript Development . Najlepiej opisany przez siebie:
Samodzielne testy szpiegowskie, kody pośredniczące i makiety dla JavaScript. Żadne zależności nie działają z żadnymi ramami testów jednostkowych.
Witryna internetowa stażysty zapewnia bezpośrednie porównanie funkcji z innymi platformami testowymi z tej listy. Oferuje więcej funkcji po wyjęciu z pudełka niż jakikolwiek inny system testowy oparty na JavaScript.
Nowa, ale bardzo wydajna platforma testowa. Pozwala także na testowanie migawkowe, co zwiększa szybkość testowania i tworzy nową dynamikę w zakresie testowania
Sprawdź jeden z ich rozmów: https://www.youtube.com/watch?v=cAKYQpTC7MA
Jeszcze lepiej: Pierwsze kroki