2011-04-01 41 views
6
Ben Capybara raylar 3 (ve test ünitesine) ama çalışmak için almaya çalışıyorum

Ben rake test:integration çalıştırmayı denediğinizde bir hata alıyorum: ArgumentError: @request must be an ActionDispatch::Request Raylar 3 Capybara hatası

testi:

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 

gerçekten emin wh değilim ats yanlış gidiyor ...

cevap

3

Bu, visit'dan sonra @request değişkenine hiçbir şey atamayan capybara ile ilgili bir sorun oldu.

bir çözüm, yani RSpec olarak

get '/login' 
assert_response :success 

i page yerine @request ilgili iddialar kullanımı, raylar yerleşik yöntemler kullanmaktır. https://github.com/jnicklas/capybara/issues/240:

some discussion here.

sorununuzla için
+1

Resmi açıklama yoktur – user664833