Rails3 Cucumber no.3
- Ruby on Rails : http://rubyonrails.org/
- Cucumber : http://cukes.info/
- Terminal 起動
- $ cd rails3/rails3_cucumber/
- add Japanese scenario
- $ vim features/messages.feature
シナリオ: ××すると、△△される
前提 □□している
もし ●●する
かつ ▲▲する
ならば ■■されていること
-
- $ rake cucumber
(::) failed steps (::)
Could not find field: "●●" (Webrat::NotFoundError)
./features/step_definitions/web_steps.rb:36:in `/^(?:|I )fill in "([^"]*)" with "([^"]*)"$/'
features/messages.feature:16:in `もし●●する'
Failing Scenarios:
cucumber features/messages.feature:14 # Scenario: ××すると、△△される
ja:
2 scenarios (1 failed, 1 passed)
-
- For error
- $ vim config/locales/ja.yml
- For error
ja:
activerecord:
models:
message: "□□"
attributes:
message:
text: "●●"
railties:
scaffold:
create: "▲▲"
-
-
- $ vim app/views/messages/_form.html.erb
-
<%= f.submit t(:create, :default => "Create", :scope => [:railties, :scaffold]) %>
-
-
- $ rake cucumber
-
(::) failed steps (::)
Could not find field: "Text" (Webrat::NotFoundError)
./features/step_definitions/web_steps.rb:36:in `/^(?:|I )fill in "([^"]*)" with "([^"]*)"$/'
features/messages.feature:10:in `もし●●する'
Failing Scenarios:
cucumber features/messages.feature:8 # Scenario: ××すると、△△される
2 scenarios (1 failed, 1 passed)
8 steps (1 failed, 2 skipped, 5 passed)
-
-
- For error
- $ vim features/messages.feature
- For error
-
前提 言語は"en-US"
前提 言語は"ja-JP"
-
-
-
- $ vim features/step_definitions/web_steps_ja.rb
-
-
前提 /^言語は"([^"]*)"$/ do |lang|
header('ACCEPT_LANGUAGE', lang)
end
-
-
-
- $ vim app/controllers/application_controller.rb
-
-
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
protect_from_forgery # See ActionController::RequestForgeryProtection for details
before_filter :set_locale
private
def set_locale
if request.env['HTTP_ACCEPT_LANGUAGE']
locale = (request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first || I18n.locale)
I18n.locale = locale
end
end
end
-
-
-
- $ rake cucumber
-
-
(::) failed steps (::)
Could not find field: "Text" (Webrat::NotFoundError)
./features/step_definitions/web_steps.rb:36:in `/^(?:|I )fill in "([^"]*)" with "([^"]*)"$/'
features/messages.feature:11:in `もし●●する'
Failing Scenarios:
cucumber features/messages.feature:8 # Scenario: ××すると、△△される
2 scenarios (1 failed, 1 passed)
10 steps (1 failed, 2 skipped, 7 passed)
0m1.137s
-
-
-
- For error
- $ vim features/step_definitions/web_steps.rb
- For error
-
-
When /^(?:|I )press "([^"]*)"$/ do |button|
# click_button(button)
end
When /^(?:|I )fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
# fill_in(field, :with => value)
end
-
-
-
-
- $ rake cucumber
-
-
-
Using the default profile...
2 scenarios (2 passed)
10 steps (10 passed)
0m1.018s