it-swarm.com.ru

BDD и TDD для node.js?

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

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

спасибо

69
donald

Обновление

Мокко получает мой голос сейчас!


Вы можете взглянуть на раздел модулей тестирования со страницы модулей node.js. Например Vows - довольно популярный BDD-фреймворк.

Vows - это ориентированная на поведение среда разработки для Node.js.

59
Alfred

Проверить мокко - (Github)

Также мокко-пирожные , моя попытка синтаксиса огурца на мокко.

18
Quang Van

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

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

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

15
Craig Monson

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

9
Nikolay

Может быть, чуть позже, но вы ищете Кюри: https://github.com/nodejitsu/kyuri

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

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

3
Benja

Вы также можете попробовать Ядда . Он подключается к другим библиотекам тестов, включая mocha, jasmine, 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)
3
cressie176

Проверьте Buster.JS . Создано Кристианом Йохансеном, который буквально написал книгу по тестированию javascript

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

2
Tauren

Пакет a (Bdd and mocking) https://npmjs.org/package/a

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

1
Lars-Erik Roald

Юнит тесты: Мокко отлично подходит для юнит тестов.

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

1
Thomas Bratt

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

жилдок-мокко

0
dnp

Я переживал ту же проблему в прошлом месяце.

Для BDD:  

Хотя сам Mocha обеспечивает стиль BDD по их описанию и высказываниям. 

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

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

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

0
user3251882