译者:

原文:

Getting started with Story Driven Development for Rails-Cucumber

- 用过‘黄瓜’吗? - Cucumber + Rails 开始你的故事

本周热评

其它收藏服务:

金牌译作 用过‘黄瓜’吗? - Cucumber + Rails 开始你的故事

1614个读者 被遗忘 @ yeeyan.com 2008年12月01日 双语对照  原文 字体大小

简介

使用Cucumber 和 Rails进行 SDD开发 。

我听说故事驱动开发(SDD)有一段时间了,但是我一直没有试着使用它, 因为在我印象中,在我能去使用它之前,我需要大量精力去学习和安装它。 我不确定原来的感觉是否真实, 但是我昨天开始使用‘黄瓜’(cucumber),它真的是很容易。

安装和配置

你需要安装很多gem包来支持cucumber

sudo gem install nokogiri term-ansicolor treetop diff-lcs hpricot cucumber

然后在你的Rails应用里安装Cucumber

ruby script/generate cucumber

安装WebRAT. 不幸的是, 它只用gem包好像不管用。(译者注:译者正好和他相反,装了plugin反而用不了,只能用gem)如果你用Git,可以直接用下面的语句安装它。 我们不是,所以我clone这个代码仓库然后svn add 。

git clone git://github.com/brynary/webrat.git vendor/plugin/webrat

写你第一个故事

故事由三部分组成:一个商业价值部分, 一个使用这个特性的角色和一些对这些特性的描述

In order to [do something with business value]
As [role]
Should [describe the feature]

有个从皮萨快递公司的在线订购系统订购一份皮萨的例子:

Feature: Order Pizza
In order to get some hot, tasty pizza
A hungry pizza lover
Should be able to order pizza

下一步,我们需要定义一些场景。场景都是可能发生的故事。 大多数皮萨店不是全天24小时开放,所以有两个简单的场景是:(1)皮萨店关门了,和(2)皮萨店正常营业。

  Scenario: The pizza shop is closed
Given the pizza shop is closed
And I am on the home page
And I click "Feed Me!"
Then I should see "Sorry, the shop is closed"

Scenario: The pizza shop is open
Given the pizza shop is open
And I am on the home page
And I click "Feed Me!"
Then I should see "Your pizza will be with you soon"

以上的描述应该放到一个名为类似features/order_pizza.feature的文件里, 在那它是可爱的,并且可以版本控制和安全的。

所以,我们现在有了一个故事,描述了这个特性应该有什么样的行为。 如何让这个变成验收测试呢? 嗯, 你可以把这些描述给您的测试团队,或者你可以把它们变成你测试套件的一部分。

自动测试: 比蛋糕更美味

你可能会注意到,当你安装了‘黄瓜’,你会得到一个目录features/steps. 它是告诉你的测试套件如何理解你的故事。那儿有两个文件: common_webrat.rb ,它会给你一些时髦的东西, 像可以点击的链接; 还有env.rb,它几乎和spec/spec_helper.rb 是一样的功能。你可以忽略env.rb, 但是common_webrat.rb 会提供一些如何开始一步步写故事的例子。

创建一个新的文件, order_pizza_steps.rb. 这里是定义订购皮萨步骤的地方。它几乎只是正则表达式,用Ruby代码来匹配每行场景。


Given /the pizza shop is open/ do
PizzaShop.open = true
end

Given /the pizza shop is closed/ do
PizzaShop.open = false
end

And /I am on the home page/ do
visits "/"
end

我们需要做的就这些。 通用的WebRAT步骤提供必要的点击按钮映射和反馈检查。

运行你的故事

这是相当简单了:执行 rake features.  你应该可以得到一些相当漂亮的彩色输出,并且如果有任何错误,‘黄瓜’都会给你漂亮的建议来解决此问题。

本文版权所有,未经许可,请勿转载
内容合作请 联系我们

译作评分
0.0
请给出您的评分  提交

更多关于 Rails 黄瓜 cucumber 的翻译文章

6条评论

添加评论

阅读
发现
翻译
合作媒体

Copyright © 2009 yeeyan.com All rights reserved. 京ICP证080457号