如何使用水豚以简单形式测试集合输入
How do I test collection input in simple form using capybara
我正在尝试测试包含集合的输入是否会被填充,我正在为我的表单使用简单的表单,水豚使用 Rspec 作为 test.this 的输入正在尝试填充
<%= f.input :number_of_beds, collection: House::NUMBEROFBEDS, label: false %>
.
房屋模型有 NUMBEROFBEDS 个数组,如下所示:
class House < ApplicationRecord
NUMBEROFBEDS = [1,2,3,4,5,6]
end
在我的spec/system/create_house_spec.rb。我尝试测试我可以像这样填写 number_of_beds 输入:
require "rails_helper"
RSpec.describe "Create House" do
scenario 'successful house creation' do
visit new_house_path
fill_in 'house_number_of_beds', with: '1'
end
end
但是我得到以下错误
1) Create House successful bed creation
Failure/Error: fill_in 'house_number_of_beds', with: '1'
Capybara::ElementNotFound:
Unable to find field "house_number_of_beds" that is not disabled
简单形式的集合选项,作为 select tag
工作,因此用 fill_in
测试它失败了最好的方法是使用 select 即
select '1', from: 'house_number_of_beds'
我正在尝试测试包含集合的输入是否会被填充,我正在为我的表单使用简单的表单,水豚使用 Rspec 作为 test.this 的输入正在尝试填充
<%= f.input :number_of_beds, collection: House::NUMBEROFBEDS, label: false %>
.
房屋模型有 NUMBEROFBEDS 个数组,如下所示:
class House < ApplicationRecord
NUMBEROFBEDS = [1,2,3,4,5,6]
end
在我的spec/system/create_house_spec.rb。我尝试测试我可以像这样填写 number_of_beds 输入:
require "rails_helper"
RSpec.describe "Create House" do
scenario 'successful house creation' do
visit new_house_path
fill_in 'house_number_of_beds', with: '1'
end
end
但是我得到以下错误
1) Create House successful bed creation
Failure/Error: fill_in 'house_number_of_beds', with: '1'
Capybara::ElementNotFound:
Unable to find field "house_number_of_beds" that is not disabled
简单形式的集合选项,作为 select tag
工作,因此用 fill_in
测试它失败了最好的方法是使用 select 即
select '1', from: 'house_number_of_beds'