Что используется для BDD и TDD с node.js?
Я использую Cucumber + RSpec. Какая хорошая комбинация для node.js?
спасибо
Что используется для BDD и TDD с node.js?
Я использую Cucumber + RSpec. Какая хорошая комбинация для node.js?
спасибо
Обновление
Mocha получает мой голос прямо сейчас!
Вы можете посмотреть раздел Vows - довольно популярная среда BDD.
Обеты - это среда разработки, основанная на поведении для node.js.
Также mocha-cakes, моя попытка синтаксиса Cucumber на мокко.
Если вы привыкли к rspec, Jasmine довольно приятно. Я не использовал его на Node.js, но я использовал его для тестирования базового приложения. Синтаксис очень похож на rspec. Взято с сайта выше:
describe("Jasmine", function() {
it("makes testing JavaScript awesome!", function() {
expect(yourCode).toBeLotsBetter();
});
});
Он указан в ссылке, представленной Альфредом выше, но так как люди перечисляли обезьяны в качестве примера, я решил, что я дам Жасмину удар, тем более, что он синтаксически похож на rspec;)
Существует проект "Обета" для BDD на Node http://vowsjs.org, выглядит довольно красиво. Это немного отличается от RSpec/Cucumber, но это довольно забавно.
Возможно, немного позже, но то, что вы ищете, это Kyuri: https://github.com/nodejitsu/kyuri
"kyuri - это реализация .js Cucumber с несколькими дополнительными асинхронными ключевыми словами. Он поддерживает 160 языков и экспортирует их в штампы VowsJS
Кроме того, nodejitsu, похоже, построил веб-приложение для управления спецификациями функций проекта Kyuri на совместной основе, он назвал "prenup", я бы посмотрел на него.
Вы также можете попробовать yadda. Он подключается к другим тестовым библиотекам, включая мокко, жасмин, casper и webdriver, но также позволяет писать правильные файлы функций, а не просто аннотировать ваши тесты на месте. Типичный тест может выглядеть как...
var Yadda = require('yadda');
Yadda.plugins.mocha();
feature('./features/bottles.feature', function(feature) {
var library = require('./bottles-library');
var yadda = new Yadda.Yadda(library);
scenarios(feature.scenarios, function(scenario, done) {
yadda.yadda(scenario.steps, done);
});
});
И файл функции...
Feature: Mocha Asynchronous Example
Scenario: A bottle falls from the wall
Given 100 green bottles are standing on the wall
when 1 green bottle accidentally falls
then there are 99 green bottles standing on the wall
И вывод...
Mocha Asynchronous Example
✓ A bottle falls from the wall
1 passing (12ms)
Отъезд Buster.JS. Созданный Christian Johansen, который буквально написал книгу по тестированию javascript.
Buster поддерживает как TDD, так и BDD. Это проверка браузера с помощью автоматизации браузера (думаю, JsTestDriver), тестирование статической HTML-страницы QUnit, тестирование в безгласных браузерах (PhantomJS, jsdom) и многое другое.
Пакет a (bdd и насмешливый) https://npmjs.org/package/a
Очень компактный синтаксис, контекст, отделенный от действий, цепляемые действия. Простой линейный бегун Cmd, который ищет рекурсивно.
Модульные тесты: Mocha отлично подходит для модульных тестов.
Тесты BDD Если вы хотите создать среду тестирования BDD для Node.js, я бы рекомендовал Cucumber.
В прошлом месяце я переживал ту же самую озабоченность.
Для BDD:
Хотя сам Mocha предоставляет стиль BDD своими описаниями и его утверждениями.
Для стилей, таких как огурец, вы можете попробовать:
У всех есть свои стили. Мне жаль, что я не могу предоставить рабочие фрагменты сейчас, дайте мне знать @Donald, который вы выберете. Хотелось бы узнать ваше понимание.
Я тоже искал хорошую реализацию Gherkin, нашел mocha-cakes/mocha-cakes-2, которые были хороши, но не очень полно. Поэтому я строю свой собственный с моккой в качестве базы, которая имеет паритет с языком огурца, включая "Сценарий сценария". Это также позволяет легко ссылаться на данные в вашем тесте. Его отличие от cucumber.js как его встроенных не отдельных файлов. Проект можно найти здесь: