rails 03_demo_cucumber && cd 03_demo_cucumber
ruby script/generate cucumber
vi features/support/env.rb
require 'cucumber/rails/rspec'
require 'webrat' if !defined?(Webrat)
vi lib/tasks/cucumber.rake
# 在format和language之前是两个“-”,其它地方也是如此。
Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = "―format pretty ―language zh-CN"
rake db:migrate
rake features
ruby script/generate rspec_scaffold post title:string body:text
script/generate feature post title:string body:text
vi features/step_definitions/webrat_steps.rb
#require 'webrat' if !defined?(Webrat) # Because ...
rake db:migrate
vi features/manage_posts.feature
Scenario: Register new post
Given I am on the new post page
When I fill in "post_title" with "My post title:string"
And I fill in "post_body" with "My post body:text"
And I press "Create"
Then I should see "My post title:string"
And I should see "My post body:text"
vi features/step_definitions/post_steps.rb
#Post.create! :name => "Post #{n}"
Post.create! :title => "Post #{n}"
# 这个命令什么也没有输出!说明了什么?为什么?
rake features
# 这个命令输出结果就是上面图
ruby script/cucumber -a en features/manage_posts.feature