6

CapybaraをRails3(およびテストユニット)で動作させようとしていますが、実行しようとするrake test:integrationとエラーが発生します。ArgumentError: @request must be an ActionDispatch::Request

テスト

require 'integration_test_helper'

class UserNotesTest < ActionDispatch::IntegrationTest
  test "User should login" do
    user = Factory.create(:user)
    visit '/login'
    assert_response :success

    fill_in 'user_email', :with => user.email
    fill_in 'user_password', :with => user.password
    click_button 'Sign in'

    assert_redirect_to notes_path
  end
end

Integration_test_helper:

require 'test_helper'
require 'capybara/rails'

module ActionDispatch
  class IntegrationTest
    include Capybara
  end
end

何が悪いのかよくわかりません...

4

1 に答える 1

3

これは、capybaraが。の@request後に変数に何も割り当てないという問題でしたvisit

1つの解決策は、レールの組み込みメソッドを使用することです。

get '/login'
assert_response :success

rspecでは、pageではなくアサーションを使用し@requestます。

ここでいくつかの議論があります。

于 2011-08-10T00:32:50.333 に答える