Есть ли в настоящее время там какие-либо хорошие node.js(серверные js) модульные системы тестирования? Я ищу что-то немного глубже, чем предоставленный модуль Assert.
Node.js Единичное тестирование
Ответ 1
В итоге я использовал node -unit и действительно доволен им.
Я использовал Expresso, но тот факт, что он запускал тесты параллельно, вызвал несколько проблем. (Например, использование базы данных в этой ситуации не очень хорошо работает).
Ответ 2
Я также искал достойную тестовую структуру для node и нашел Mocha. Это официальный преемник Expresso и кажется очень зрелым.
Он позволяет подключать различные библиотеки утверждений, предлагает репортеров для покрытия кода и других вещей (вы можете подключать свои собственные). Он может запускать синхронизацию или асинхронный процесс и имеет сжатый API.
Я попробую и отправлю отчет...
EDIT:
После невероятного количества времени, посвященного другим проектам, я наконец вернулся к проекту Javascript и успел поиграть с моккой. Я могу серьезно порекомендовать его использовать. Тесты читаются очень хорошо, интеграция с gulp отличная, и тесты выполняются очень быстро. Я смог настроить автоматическое автономное, а также в браузере (прокрутку) тестовые прогоны и соответствующие отчеты о покрытии кода примерно через пол дня (большую часть времени потратил на понимание использования браузера из gulp). Для меня мокка кажется очень хорошим выбором для платформы тестирования.
UPDATE:
Я все еще очень убежден в Мокке. Интеграция с chai позволяет подключать различные стили утверждения. Вы можете проверить рабочую настройку в этот проект github. Теперь я использую его с кармой, интегрируя отчет о покрытии кода, автоматические наблюдатели и хорошую интеграцию с IntelliJ
Ответ 3
Лично я застрял с Expresso, но есть множество различных фреймворков, которые приспосабливают большинство стилей тестирования.
Joyent имеет обширный список; дайте этому идти.
Ответ 4
Я лично использовал только модуль assert, но также обнаружил, что хочу большего. Я просмотрел многие модули node, а популярные модульные модули тестирования node -unit и должны (что сделано тем же парнем, что и Expresso (возможно, обновленное имя?)
Vows также выглядит многообещающим.
Ответ 5
У меня есть настройка с Mocha - здесь есть отличный учебник - http://brianstoner.com/blog/testing-in-nodejs-with-mocha/
Ответ 6
vows - это надежная библиотека тестирования модулей для node.js, но синтаксис утомительный.
Я написал тонкую абстракцию под названием vows-fluent, которая делает 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
});
Ответ 7
Я думаю, что среди различных доступных платформ тестирования mocha является самым последним и очень простым в реализации. Вот замечательный учебник о том, как его использовать: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
Ответ 8
Если вы знакомы с QUnit, вы можете использовать node-qunit, который является своего рода оболочкой node вокруг существующей рамки QUnit.
Ответ 9
Первоначально сделанный для node.js, deadunit - это библиотека тестирования модулей javascript для node.js и браузера. Некоторые из его уникальных атрибутов:
- Легкая кривая обучения
- Может выводить результаты теста в командной строке (цветной или обычный текст) или в виде html
- Он печатает фактические строки кода, в которых содержатся ваши утверждения, поэтому ваш вывод имеет смысл, даже если вы не тратите много времени на публикацию комментариев к тесту
- Он имеет простое утверждение
count
, которое упрощает работу с ожидаемыми исключениями и асинхронными утверждениями - он выводит исключение и любые прикрепленные данные, которые у них есть
- это позволит вам узнать, висит ли ваш код (что-то вам не нужно, но обычно остается незамеченным)
- Имеет ли API, управляемый событиями, возможность потоковой передачи результатов тестирования по сети или любым другим способом.
- Поддерживает тестирование с помощью node-fibers
Ответ 10
test-studio - это пакет npm, который обеспечивает мощный веб-интерфейс для модульного тестирования. Он поддерживает такие функции, как выполнение отдельных или групп тестов и шаговый node -инспектор в отдельные тесты. В настоящее время он поддерживает мокко, и в будущем данный спрос будет поддерживаться в будущем.
Подробнее об этом здесь.
Отказ от ответственности: я автор.
Ответ 11
Я только что загрузил проект, который я использую для unit test nodejs с кармой и Жасмином: narma. Ваши модули node загружаются в браузер nodewebkit, поэтому вы можете выполнять модули node и использовать библиотеки, такие как jquery, в одной и той же куче.