gpt4 book ai didi

ruby-on-rails - rails : creating a feature spec to test a form that has a file upload field

转载 作者:行者123 更新时间:2023-12-02 00:13:02 26 4
gpt4 key购买 nike

人们如何处理以下情况:我有一个可以拍摄图像的表格。如何验证图像是否被接受?或者这不是您应该在此级别的测试中验证的内容吗?

scenario "add facebook like gate and save as draft" do
path = "#{Rails.root}/app/assets/images/like_gate.jpg"

visit root_url
click_link I18n.t(:create_a_new_promotion)
fill_in I18n.t(:title), with: "My promotion"
click_button I18n.t(:continue)

expect(page).to have_text(I18n.t(:promotion_details))
expect(page).to have_text("My promotion")

fill_in I18n.t(:like_gate_copy), with: "Like our page to enter the contest!"
attach_file I18n.t(:upload_lg_image), path
click_button I18n.t(:save_as_draft)

expect(page).to have_text(I18n.t(:promotion_successfully_saved))
end

是否有特定的方法来验证 attach_file 是否真的成功?另外,人们通常如何测试文件上传?在您的请求规范、 Controller 规范和模型规范中?我想坚持使用 RSpec 和 Capybara 进行所有测试。

谢谢

最佳答案

因为attach_file是 capybara 方法,所以不要测试它。

而是考虑有效/无效上传如何改变您的系统状态。例如,如果上传用户头像,请验证用户模型是否有指向您刚刚上传的图像 ID 的指针。如果您正在进行更高级别的测试,请验证用户是否在他们希望在页面上看到的位置看到上传的图像(网址)。

简而言之,不要测试图片上传,测试它的结果。


期望(页面).to have_selector(“img[src=#{path}]”)

关于ruby-on-rails - rails : creating a feature spec to test a form that has a file upload field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14593621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com