使用node.js的BDD和TDD使用什么?
我曾经使用Cucumber + RSpec。node.js的最佳组合是什么?
谢谢
Answers:
Node http://vowsjs.org上有一个BDD的“ Vows”项目,看起来很不错。它与RSpec / Cucumber有点不同,但是很有趣
也许稍后,但是您要寻找的是Kyuri:https://github.com/nodejitsu/kyuri
“ kyuri是一个node.js Cucumber实现,带有一些额外的异步关键字。它支持160多种语言并导出到VowsJS存根”
另外,nodejitsu似乎已经构建了一个Web应用程序,用于以协作方式管理Kyuri项目的功能规格,它的名称为“ prenup”,下面我来看一下。
您也可以尝试yadda。它可以插入到其他测试库中,包括mocha,茉莉,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),QUnit风格的静态HTML页面测试,无头浏览器(PhantomJS,jsdom)等进行浏览器测试。
包一个 (BDD和嘲讽) https://npmjs.org/package/a
语法非常紧凑,上下文与行为分开,可链接的行为。简单的Cmd行运行器,可进行递归搜索。
bdd
界面变得相当接近RSpec的,但它仍然缺乏懒惰let
/subject
细微。我为mocha创建了一个单独的界面,该界面lazy-bdd
具有以下附加功能:npmjs.com/package/mocha-lazy-bdd