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