设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

CucumberJS-JavaScript与行为驱动开发结合

2014-2-10 10:26| 发布者: joejoe0332| 查看: 1782| 评论: 0|原作者: Jan Stenberg|来自: InfoQ

摘要:   Todd Anderson最近发表了一篇博客文章,介绍了新兴工具CucumberJS:面对基于JavaScript的项目,向其TDD(测试驱动开发)工作流中添加CucumberJS,有助于让项目与行为驱动开发的理念相结合。从而使得开发者在自外 ...

  Todd Anderson最近发表了一篇博客文章,介绍了新兴工具CucumberJS:面对基于JavaScript的项目,向其TDD(测试驱动开发)工作流中添加CucumberJS,有助于让项目与行为驱动开发的理念相结合。从而使得开发者在自外而内进行开发的同时,遵循TDD准则;并且还将运行自动化的测试,以确保在实现了支持某个特性的代码后,测试才会得出通过的结果。


  Todd从事应用开发工作,并与人合著了三本书(点击查看)。他将CucumberJS描述成一种介于BDD工具Cucumber与JavaScript之间的接口,它能够运行在NodeJS上和现代网络浏览器中。CucumberJS支持使用Gherkin来撰写特性说明的定义,而并使用命令行工具来运行这些说明。该命令行工具将针对组成说明的各个步骤或场景,报告其结果是通过还是失败。他还提到,尽管Cucumber目前仅仅是测试框架,但开发者可以根据需要来引入断言库,令这些步骤通过或是失败。


  Todd以一个杂货清单应用中的某特性为例,展示了如何使用Cucumber来适应BDD:


特性:购物者能够将某项物品添加到其杂货清单

场景:物品添加到杂货清单

假定(Given)现在我的杂货清单是空的

当(When)我向其中添加一项物品时

则(Then)该杂货清单将包含单一的一项物品


  该特性定义了一项业务价值,而该场景则定义了提供该价值的步骤。每个场景都包含一系列的步骤,它们由一些关键词来定义:假定、当……时、则(Given, When, Then);而CucumberJS将阅读特性说明,而后执行这些步骤。


  针对结合Node.JS来使用CucumberJS的话题,Todd给出了一些示例,在示例中测试经过了从失败到通过的过程,与此同时它们也实现并运行了杂货清单应用。


  在总结中,Todd深信:当进行重构和Bug修复时,使用测试套件管理并测试代码,将会获得回报;同时他表示将继续发表一系列新的文章,以展示如何结合浏览器来使用CucumberJS进行测试。


  行为驱动开发的概念,最初由 Dan North在2006年提出。Cucumber则是一个用于行为驱动开发的开源工具,目前支持包括JavaScript在内的九种编程语言。


查看英文原文:BDD and JavaScript Using CucumberJS

转自 http://www.infoq.com/cn/news/2014/02/bdd-cucumberjs?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部