我可以测试上传一个文件
attach_file 'photo', File.join(Rails.root, 'public', 'uploads', 'test.png')
但是如果我有一个带有multiple
属性的文件字段怎么办?如何使用Cucumber / Capybara测试多个文件上传?
答案 0 :(得分:12)
HTML:
<input id="fileupload" class="photo-uploader" type="file" multiple="" name="images">
水豚:
page.attach_file "images", ['path to file1.jpg', 'path to file2.jpg', 'path to file3.jpg']
name
查找<input>
的{{1}}属性,并将其添加为第一个参数。答案 1 :(得分:0)
Capybara目前似乎不可能:
答案 2 :(得分:-5)
在测试多个文件上传之前,您应该问自己,如何在一个模型中存储多张照片。一个可能的解决方案是:
class Post < ActiveRecord::Base
has_many :photos
end
class Photo < ActiveRecord::Base
belongs_to :post
# if you're using Carrierwave
mount_uploader :photo, PhotoUploader
end
之后,您可以意识到测试一个或多个文件上传之间没有区别。