如何使用水豚以简单形式测试采集输入

问题描述 投票:0回答:1

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

ruby-on-rails simple-form
1个回答
0
投票

简单形式的收集选项,作为select tag起作用,因此用fill_in对其进行测试失败了使用select的最佳方法,即select '1', from: 'house_number_of_beds'

© www.soinside.com 2019 - 2024. All rights reserved.