水豚测试问题
Capybara testing issue
我有模型 Post
和 Image
。 Post
has_many images
我有这个字段
<%= f.file_field :image, required: false %>
如何使用 Capybara attach_file 方法测试通过 cocoon
gem 方法添加的图像?
attach_file( "file_field", "#{Rails.root}/spec/assets/example.jpg" )
我应该写什么而不是 file_field
?这个字段的名字应该是什么? "image" 或 :image 不工作。
根据 Capybara 文档:"The file field can be found via its name, id or label text." 但是上面的 none 是有效的。
像这样尝试此代码link
it "can upload an image" do
post :picture, avatar: fixture_file_upload('files/spongebob.png', 'image/png')
response.should be_success
end
阅读此 question 的答案,我认为会有帮助。
这是我找到的决定,它对我有用。您搜索页面上的所有输入元素,然后为每个元素设置值。
elements = page.all(:css, 'input[type="file"]')
elements[0].set "#{Rails.root}/spec/assets/example.jpg"
elements[1].set "#{Rails.root}/spec/assets/example_2.jpg"
我有模型 Post
和 Image
。 Post
has_many images
我有这个字段
<%= f.file_field :image, required: false %>
如何使用 Capybara attach_file 方法测试通过 cocoon
gem 方法添加的图像?
attach_file( "file_field", "#{Rails.root}/spec/assets/example.jpg" )
我应该写什么而不是 file_field
?这个字段的名字应该是什么? "image" 或 :image 不工作。
根据 Capybara 文档:"The file field can be found via its name, id or label text." 但是上面的 none 是有效的。
像这样尝试此代码link
it "can upload an image" do
post :picture, avatar: fixture_file_upload('files/spongebob.png', 'image/png')
response.should be_success
end
阅读此 question 的答案,我认为会有帮助。
这是我找到的决定,它对我有用。您搜索页面上的所有输入元素,然后为每个元素设置值。
elements = page.all(:css, 'input[type="file"]')
elements[0].set "#{Rails.root}/spec/assets/example.jpg"
elements[1].set "#{Rails.root}/spec/assets/example_2.jpg"