Odpowiedzi:
Skończyło się na korzystaniu z node-unit i jestem z tego naprawdę zadowolony.
Używałem Expresso pierwotnie ale fakt, że działa on testy równolegle spowodowało kilka problemów. (Na przykład używanie urządzeń bazodanowych nie działa dobrze w tej sytuacji).
.done()
imho.
.done()
uwzględnienia testowania asynchronicznego. Zgadzam się, że czasami może to być trochę nieporęczne, ale ma świetny powód, aby robić to w ten sposób.
Szukałem też porządnego frameworka testowego dla węzła i znalazłem Mocha . Jest oficjalnym następcą Expresso i wydaje się bardzo dojrzały.
Pozwala na podłączanie różnych bibliotek asercji, oferuje reporterzy do pokrycia kodu i innych rzeczy (możesz podłączyć własne). Może uruchamiać synchronizację lub asynchronicznie i ma zwięzły interfejs API.
Spróbuję i zdam raport ...
Po niesamowitej ilości czasu poświęconego innym projektom w końcu wróciłem do projektu Javascript i miałem czas na zabawę z mokką. Mogę poważnie polecić jej używanie. Testy czytają bardzo ładnie, integracja z gulpem jest świetna, a testy przebiegają bardzo szybko. Udało mi się skonfigurować automatyczne, samodzielne, a także testy w przeglądarce (browserify) i odpowiadające im raporty pokrycia kodu w około pół dnia (większość czasu spędziłem na zrozumieniu, jak korzystać z browserify z gulp). Dla mnie mocha wydaje się bardzo dobrym wyborem na framework testowy.
Nadal jestem bardzo przekonany o Mocha. Integracja z chai pozwala na podłączenie różnych stylów asercji. Możesz sprawdzić działającą konfigurację w tym projekcie github . Używam go teraz z karmą, integrując raport pokrycia kodu, automatyczne obserwatory i dobrą integrację z IntelliJ
Osobiście korzystałem tylko z modułu assert, ale też chcę więcej. Przejrzałem wiele modułów węzłów, a popularne frameworki testów jednostkowych to węzły-jednostka i powinny (które są tworzone przez tego samego gościa co Expresso (może zaktualizowana nazwa?)
Śluby również wyglądają obiecująco.
Osobiście utknąłem w Expresso , ale istnieje kilka różnych frameworków, które obsługują większość stylów testowania.
Joyent ma obszerną listę ; daj temu szansę.
śluby jest stałe badanie biblioteka jednostką node.js ale składnia jest nużące.
Napisałem cienką abstrakcję zwaną ślubowaniem - płynna vows dzięki której API można łączyć w łańcuch.
Napisałem też inną abstrakcję, [vows-is], która opiera się na ślubowaniu-płynnym i odsłania składnię w stylu BDD.
Przykładem może być
var is = require("vows-is");
is.suite("testing is fun").batch()
.context("is testing fun?")
.topic.is("yes")
.vow.it.should.equal("yes")
.suite().run({
reporter: is.reporter
});
Myślę, że spośród różnych dostępnych frameworków testowych, mocha jest najnowszą i bardzo prostą do wdrożenia. Oto wspaniały poradnik, jak go używać: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
Jeśli znasz QUnit , możesz użyć node-qunit, który jest rodzajem opakowania węzłów wokół istniejącego frameworka QUnit.
Pierwotnie wykonany dla node.js, deadunit jest testowanie jednostki biblioteki javascript dla node.js oraz przeglądarce. Niektóre z jego unikalnych atrybutów:
count
potwierdzenie, które ułatwia obsługę oczekiwanych wyjątków i asynchronicznych potwierdzeńWłaśnie załadowałem projekt, którego używam do testów jednostkowych nodejs z karmą i Jasmine: narma . Twoje moduły węzłów są ładowane do przeglądarki nodewebkit, dzięki czemu możesz uruchamiać moduły węzłów i używać bibliotek, takich jak jquery, w tej samej stercie.
studio testowe to pakiet npm, który zapewnia potężny, oparty na sieci Web interfejs do testowania jednostkowego. Obsługuje takie rzeczy, jak wykonywanie pojedynczych lub grup testów i przechodzenie inspektora węzła do poszczególnych testów. Obecnie obsługuje mokkę, a więcej ram będzie obsługiwanych w przyszłości, biorąc pod uwagę zapotrzebowanie.
Przeczytaj więcej na ten temat tutaj .
Zastrzeżenie: jestem autorem.