行为驱动开发之二,实施篇
作者:网络转载 发布时间:[ 2011/10/11 11:49:39 ] 推荐标签:
Cucumber例子:
我希望实现一个文件管理系统的存档功能,在设计和编码前,我先用Cucumber将我需要的功能描述出来。
Feature:archive old record
As a admin
I want to archive old records
So that I can keep my current records list small and clean
Scenario: archive old record
Given 1 record "A" with date "2011-03-07"
And 1 record "B" with date "2011-03-17"
When I run "old record archive"
Then system should move record "A" into archive forlder
针对每个步骤,如Given 1 record "A" with date "2011-03-07",编写其对应的ruby代码,如:
/Given 1 record "" with date ""/ do |id, date|
create_record("id"=>id, "date"=>date)
#此处,create_record会被调用2次,第一次参数是A, 2011-03-07,第二次参数是B,2011-03-17
end
/When I run ""/ do |cmd|
system(cmd)
#此处,system会被调用,参数是old record archive
end
/Then system should move record "" into archive folder/ do |record|
search_record_in_archive_folder(record).should == true
#此处,search_record_in_archive_folder会被调用,record为“A"
end

sales@spasvo.com