Rails3 Cucumber no.3

  • 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

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

前提 言語は"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

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