BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

用Cucumber脚本做故事驱动开发

| 作者 Sebastien Auvray 关注 0 他的粉丝 ,译者 李剑 关注 1 他的粉丝 发布于 2009年3月5日. 估计阅读时间: 3 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

行为驱动开发(BDD)的流行已然无可逆转。它始创于2003年,由Dan North创立,与测试驱动开发相呼应。BDD鼓励软件项目中的各种角色相互协作:开发人员、QA、非技术角色或者业务分析师。

Ruby因其便于创建和使用DSL的特性,也带来了许多BDD框架的诞生,如RSpecAslak Hellesøy的作品Cucumber也是其中一例,它可以用来测试Java、.NET和Flex代码。也可以读取纯文本文件,执行自动化功能测试。

下面是一个典型的场景示例(来自于项目的Wiki):

Feature: Search courses
  In order to ensure better utilization of courses
  Potential students should be able to search for courses

  Scenario: Search by topic
    Given there are 240 courses where neither has the topic "biology" 
    And there are 3 courses A,B,C that each have "biology" as one of the topics
    When I search for "biology" 
    Then I should see a the following courses:
      | title |
      | A     |
      | B     |
      | C     |

然后就可以用真实的代码来实现这段话,在测试失败中不断迭代直至最后成功。Cucumber还支持把场景中失败或者成功的部分加以高亮显示(下面是Cucumber网站上的一张图片):

Tests failure

编写Cucumber文件的语言是Gherkin,它可以附着于各种自然语言之上,它的关键字就是“Given”、“And”等等这样的字眼,另外还可以用法语、德语等等语言来写。用户编写好每一步的定义以后,Cucumber就会一步一步的解析关键字右侧的自然语言并执行代码。

应用Cucumber的方式有很多,例如给系统管理员用作Web应用的集成测试,或者将分布式系统集成并测试消息机制,又或者编写PDF的测试

Cucumber的0.1.16版本可以做为Ruby Gem下载,0.1.99.10版本可以在GitHub上获取。

查看英文原文Story Driven Development Recipes with Cucumber

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

及时 by 张 晓庆

正好想在项目中使用Cucumber

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT