我正在尝试测试具有集合的输入是否被填充,我在表单中使用简单的表单,在水豚中使用Rspec进行测试。这是我正在尝试填充的输入<%= 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'