我是新來的水豚和一般的測試Rails,所以請原諒我,如果這是一個簡單的答案。水豚與:js =>真正導致測試失敗
我有了這個測試
it "should be able to edit an assignment" do
visit dashboard_path
select(@project.client + " - " + @project.name, :from => "assignment_project_id")
select(@team_member.first_name + " " + @team_member.last_name, :from => "assignment_person_id")
click_button "Create assignment"
page.should have_content(@team_member.first_name)
end
原樣通過,但如果我添加:JS =>真正的失敗與
cannot select option, no option with text 'Test client - Test project' in select box 'assignment_project_id'
我使用FactoryGirl創建數據,而且由於測試通過沒有JS,我知道這部分工作。
我已經嘗試用默認的JS驅動程序,並用:(安裝了水豚,WebKit的),WebKit的驅動
我想我不明白就夠了轉折點上JS的水豚在做什麼。
爲什麼JS上的測試失敗?
這可能是因爲JS打開時使用不同類型的選擇器。我遇到過類似的奇怪問題,就像之前那樣。你可以修改你的測試,並選擇你選擇更簡單(沒有「 - 」)例如'select(@ project.name,:from =>「assignment_project_id」)'來測試它,看看會發生什麼? –
感謝您的想法。試過了,但不幸的是它沒有奏效。現在只是「沒有選項和文本」測試項目「」 – evanmcd
現在看來,我將使用的解決方法是使用數據填充測試數據庫,並將每個測試隔離爲只需要數據庫中的數據。也許這是從一開始就應該如何完成的,但我的印象是你可以使用Capybara插入一條記錄,然後只要它在同一個「it」塊內,就對來自該插入的數據起作用。 – evanmcd