0

私はにアップグレードcucumber-rails-0.3.2cucumber-rails-1.3.1ています。これが私のものですGemfile

group :development, :test do
  gem "cucumber-rails", "1.3.1", :require => false
  gem "database_cleaner"
  gem "rspec-rails", ">= 2.8.1"
  gem "webrat"
end

ログインシナリオがあります。ここにあります

Scenario: Navigating to the login page
    Given an unauthenticated visitor

    When visitor goes to the home page
    And clicks on 'Login'

    Then visitor should see the people login page

対応するステップ定義は

Given "an unauthenticated visitor" do
  request.session.delete if request && request.session
end

また

このようなもの

request.session[:user_id].should == Person.find_by_username(user).id

この段階で、私は得ていますwrong number of arguments calling request (0 for 1) (ArgumentError)

に従ってキュウリ環境をセットアップcucumber-rails-1.3.1し、使用してMocks (RSpec::Mocks)います。

この歓迎と感謝に関するアイデアやヘルプ。

4

1 に答える 1

0

オブジェクトは実際にはrequest.session単なるハッシュであり、delete(doc)は 1 つのパラメーター (削除したいキー) を想定しています。

ステップ定義は次のようになります。

Given "an unauthenticated visitor" do
  Capybara.reset_sessions!
end
于 2013-06-18T19:46:17.900 に答える