Відповіді:
Я в кінцевому підсумку використовував вузловий блок і дуже задоволений цим.
Я використовував Expresso спочатку, але той факт, що він паралельно проводить тести, спричинив кілька проблем. (Наприклад, використання світильників баз даних не добре працює в цій ситуації).
.done()
imho.
.done()
пристосування до асинхронного тестування. Я погоджуюсь, що це часом може бути трохи непростим, але це має вагому причину для цього.
Я також шукав гідну тестову основу для вузла і знайшов Mocha . Це офіційний спадкоємець Expresso і здається дуже зрілим.
Він дозволяє підключати різні бібліотеки тверджень, пропонує репортери для висвітлення коду та інших речей (ви можете підключати свої власні). Він може запускати синхронізацію чи асинхронізацію та має стислий API.
Я спробую і звіту ...
Після неймовірної кількості часу, присвяченого іншим проектам, я нарешті повернувся до проекту Javascript і встиг пограти з моккою. Я можу серйозно порекомендувати його використовувати. Тести читаються дуже добре, інтеграція з глотком - чудова, а тести працюють дуже швидко. Мені вдалося налаштувати як автономні, так і тестові прогони у браузері (переглядати) та відповідні звіти про покриття коду приблизно за півдня (більшість часу витрачається на розуміння способу використання браузера з gulp). Мені мока здається дуже хорошим вибором для тестування.
Я все ще дуже переконаний у Мочі. Інтеграція з chai дозволяє підключати різні стилі тверджень. Ви можете перевірити робочу програму в цьому проекті github . Зараз я використовую його з кармою, інтегруючи звіт про покриття коду, автоматичні спостереження та гарну інтеграцію з IntelliJ
Я особисто використовував лише модуль затвердження, але також хочу більше. Я переглянув багато модулів вузлів, і популярні рамки тестування блоків є вузловими одиницями і повинні (що робиться тим самим хлопцем, що і Expresso (можливо оновлене ім’я?)
Обіцяння також виглядає багатообіцяючим.
Особисто я затримався з Expresso , але є купа різних рамок, які вміщують більшість стилів тестування.
Joyent має великий список ; дайте, щоб піти.
vows - це суцільна бібліотека тестування одиниць для node.js, але синтаксис є стомлюючим.
Я написав тонкі абстракції під назвою обітниць-Вільний , який робить API змієподібним.
І я написав ще одну абстракцію, [vows-is], яка будується на вічній мові і відкриває синтаксис стилю BDD.
Прикладом може бути
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
});
Я думаю, що серед різних доступних рамок тестування мока є найсвіжішим та дуже простим у виконанні. Ось чудовий підручник про те, як ним користуватися: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
Якщо ви знайомі з QUnit , ви можете використовувати node-qunit, який є свого роду обгорткою вузла навколо існуючої структури QUnit.
Спочатку створений для node.js, deadunit є бібліотекою тестування блоку javascript для node.js та браузера. Деякі його унікальні атрибути:
count
твердження, що спрощує справу з очікуваними винятками та асинхронними твердженнямиЩойно я завантажив проект, який використовую для тестування nodejs з кармою та Жасмін: narma . Ваші модулі вузлів завантажуються в браузер nodewebkit, щоб ви могли виконувати модулі вузлів і використовувати бібліотеки, такі як jquery, в одній купі.
тест-студія - це пакет npm, що забезпечує потужний, веб-інтерфейс для тестування одиниць. Він підтримує такі речі, як виконання окремих тестів або груп тестів та перехід інспектора вузлів в окремі тести. В даний час він підтримує мокко, і більше фреймворків буде підтримуватися в майбутньому з урахуванням попиту.
Детальніше про це читайте тут .
Відмова: Я - автор.