我正在爲RSpec測試編寫視圖並在嘗試填寫文本字段時出現以下錯誤。編寫RSpec時出錯測試Capybara :: ElementNotFound:無法找到字段
1) coordinators/new.html.erb populate page name text entry field filled checks for presence of filled in text field
Failure/Error: fill_in "coordinator_name", with: 'JoeJoe'
Capybara::ElementNotFound:
Unable to find field "coordinator_name"
# ./spec/views/coordinators/new.html.erb_spec.rb:47:in `block (4 levels) in <top (required)>'
這裏是我的代碼的一部分,包括前面的測試,其中字段「coordinator_name」被發現。我很困惑,爲什麼它沒有在第二次測試中找到?
describe 'name text entry field' do
it 'checks for presence of empty text field for name' do
expect(rendered).to have_field('coordinator_name', text: nil)
end
end
describe 'name text entry field filled' do
it 'checks for presence of filled in text field' do
fill_in "coordinator_name", with: 'JoeJoe'
expect(rendered).to have_field('coordinator_name', text: 'JoeJoe')
end
end
有關如何找到解決方案的任何建議?
您的測試代碼顯示您向have_field傳遞':text'選項 - 如果您嘗試測試字段的值,則has_field不會採用':text'選項,它需要':with'選項,什麼是「呈現」? - 沒關係,我明白你做錯了什麼。 –
@KevinEtore它是一個空文件(無html)。但同樣的事情發生時(空白頁),當我把save_and_open_page用於「檢查是否存在空文本字段」測試時 – JSmooth