我有一个用户上传文件的页面(我们正在使用 Refile)。现在我有一个类似下面的测试
attach_file :file_upload, Rails.root + "spec/fixture/pdf.pdf"
click_button "Upload"
然后我检查是否应该有成功消息
expect(page).to have_css("css class here")
我尝试显示正在呈现的页面正文以检查正在呈现的 Flash 消息。它总是给我“需要附件”。
我有一个用户上传文件的页面(我们正在使用 Refile)。现在我有一个类似下面的测试
attach_file :file_upload, Rails.root + "spec/fixture/pdf.pdf"
click_button "Upload"
然后我检查是否应该有成功消息
expect(page).to have_css("css class here")
我尝试显示正在呈现的页面正文以检查正在呈现的 Flash 消息。它总是给我“需要附件”。
我怀疑 Rails.root 不在里面 () 与你的水豚助手冲突。以这种方式对 Rails.root 进行字符串插值更为常见。这样做也可以解决您的问题
改变这个
attach_file :file_upload, Rails.root + "spec/fixture/pdf.pdf"
对此
attach_file :file_upload, (Rails.root + "spec/fixture/pdf.pdf")
甚至更好......这个
attach_file :file_upload, "#{Rails.root}/spec/fixture/pdf.pdf"