2012-05-21 39 views
3

我在與JS的要求規範問題的模型 - 一個模型編輯頁面的基本訪問:問題與JS水豚要求規格 - 找不到

it "can edit a doc", :js => true do 
    doc = FactoryGirl.create(:doc) # tried with Doc.create as well 
    puts Doc.find(doc.id) # 1 <- so it's definitely in the DB! 
    visit edit_doc_path(doc) 
end 

結果:「ActiveRecord的: :RecordNotFound - 無法找到ID = 1的文檔「

奇怪的是它與標準請求規範一起工作。我嘗試了webkit和selenium驅動程序。我spec_helper看起來是這樣的(應該是相當標準):

RSpec.configure do |config| 
    config.use_transactional_fixtures = false 

    Capybara.javascript_driver = :webkit 

    config.before(:suite) do 
    DatabaseCleaner.strategy = :transaction 
    end 

    config.before(:each) do 
    DatabaseCleaner.start 
    end 

    config.after(:each) do 
    DatabaseCleaner.clean 
    end 

    config.before(:each, :type => :request) do 
    Capybara.reset_sessions! 
    end 
end 

的Rails 3.1.4,沒有版本的水豚,RSpec的,等測試庫。

任何輸入非常感謝!謝謝!

+0

如果刪除JS會發生什麼:真的嗎? – DVG

回答

-1

好像你有同樣的問題,因爲這: Capybara with :js => true causes test to fail

嘗試DatabaseCleaner策略設置爲:截斷,看看它是否工作

config.before(:suite) do 
    DatabaseCleaner.strategy = :truncation 
end