BDD и TDD для node.js? - PullRequest
       63

BDD и TDD для node.js?

69 голосов
/ 16 января 2011

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

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

спасибо

Ответы [ 11 ]

59 голосов
/ 16 января 2011

Обновление

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


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

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

18 голосов
/ 17 декабря 2011

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

Также мокко-пирожные , моя попытка синтаксиса Cucumber для мокко.

15 голосов
/ 14 июня 2011

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

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

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

9 голосов
/ 28 января 2011

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

3 голосов
/ 30 октября 2013

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

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

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

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

2 голосов
/ 09 декабря 2012

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

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

1 голос
/ 13 января 2014

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

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

1 голос
/ 21 мая 2013

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

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

0 голосов
/ 14 сентября 2017

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

livedoc-мокко

...