BDD и TDD для node.js?

Что используется для BDD и TDD с node.js?

Я использую Cucumber + RSpec. Какая хорошая комбинация для node.js?

спасибо

Ответ 1

Обновление

Mocha получает мой голос прямо сейчас!


Вы можете посмотреть раздел Vows - довольно популярная среда BDD.

Обеты - это среда разработки, основанная на поведении для node.js.

Ответ 2

Отъезд mocha - (github)

Также mocha-cakes, моя попытка синтаксиса Cucumber на мокко.

Ответ 3

Если вы привыкли к rspec, Jasmine довольно приятно. Я не использовал его на Node.js, но я использовал его для тестирования базового приложения. Синтаксис очень похож на rspec. Взято с сайта выше:

describe("Jasmine", function() {
  it("makes testing JavaScript awesome!", function() {
    expect(yourCode).toBeLotsBetter();
  });
});

Он указан в ссылке, представленной Альфредом выше, но так как люди перечисляли обезьяны в качестве примера, я решил, что я дам Жасмину удар, тем более, что он синтаксически похож на rspec;)

Ответ 4

Существует проект "Обета" для BDD на Node http://vowsjs.org, выглядит довольно красиво. Это немного отличается от RSpec/Cucumber, но это довольно забавно.

Ответ 5

Возможно, немного позже, но то, что вы ищете, это Kyuri: https://github.com/nodejitsu/kyuri

"kyuri - это реализация .js Cucumber с несколькими дополнительными асинхронными ключевыми словами. Он поддерживает 160 языков и экспортирует их в штампы VowsJS

Кроме того, nodejitsu, похоже, построил веб-приложение для управления спецификациями функций проекта Kyuri на совместной основе, он назвал "prenup", я бы посмотрел на него.

Ответ 6

Вы также можете попробовать 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)

Ответ 7

Отъезд Buster.JS. Созданный Christian Johansen, который буквально написал книгу по тестированию javascript.

Buster поддерживает как TDD, так и BDD. Это проверка браузера с помощью автоматизации браузера (думаю, JsTestDriver), тестирование статической HTML-страницы QUnit, тестирование в безгласных браузерах (PhantomJS, jsdom) и многое другое.

Ответ 8

Пакет a (bdd и насмешливый) https://npmjs.org/package/a

Очень компактный синтаксис, контекст, отделенный от действий, цепляемые действия. Простой линейный бегун Cmd, который ищет рекурсивно.

Ответ 9

Модульные тесты: Mocha отлично подходит для модульных тестов.

Тесты BDD Если вы хотите создать среду тестирования BDD для Node.js, я бы рекомендовал Cucumber.

Ответ 10

В прошлом месяце я переживал ту же самую озабоченность.

Для BDD:

Хотя сам Mocha предоставляет стиль BDD своими описаниями и его утверждениями.

Для стилей, таких как огурец, вы можете попробовать:

  • мокко торты
  • Мокко-корнишоны
  • cucumber.js
  • Кюри
  • мокко огурец

У всех есть свои стили. Мне жаль, что я не могу предоставить рабочие фрагменты сейчас, дайте мне знать @Donald, который вы выберете. Хотелось бы узнать ваше понимание.

Ответ 11

Я тоже искал хорошую реализацию Gherkin, нашел mocha-cakes/mocha-cakes-2, которые были хороши, но не очень полно. Поэтому я строю свой собственный с моккой в ​​качестве базы, которая имеет паритет с языком огурца, включая "Сценарий сценария". Это также позволяет легко ссылаться на данные в вашем тесте. Его отличие от cucumber.js как его встроенных не отдельных файлов. Проект можно найти здесь:

livedoc-mocha