gpt4 book ai didi

ruby-on-rails - 如何使用 rspec 和 capybara 测试索引/确认/完成流页面?

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:42 25 4
gpt4 key购买 nike

我有三个页面:

  • 索引
  • 确认
  • 完成

我在首页设置了文件上传功能。当用户附加文件并单击提交按钮时,我检查文件是否是一个好文件。

然后在确认页面显示验证消息。

如果没有任何错误,它将转到完成页面并显示成功消息。

现在我正在使用 rspec/capybara 进行功能测试。我可以测试用户在索引页中附加的是好文件还是坏文件。所以我可以想到确认页面中会显示哪些消息。

但是我不能先访问确认页面或完成页面,因为我在这两个页面中都使用了http post方法。

那么如何在确认页和完成页进行功能测试呢?

最佳答案

在功能测试中,您不会单独测试这三个页面,而是将其作为一个功能进行测试,使用类似的东西(包括按钮名称、消息、更改以匹配您的页面)

visit index_page_path   # go to your index page
page.attach_file ... # select a file
page.click_button 'Submit' # submit the file
expect(page).to have_text 'Whatever message shows on the confirm page'
page.click_button 'Yes I want to save that file' # click the button on the confirm page to do whatever you're doing
expect(page).to have_text 'Whatever message shows on the finish page'

如果显示页面的 URL 对您很重要,您还可以在 have_text 方法之后测试 current_path。您将在 have_text 之后测试 current_path,因为 have_text 匹配器将等待提交完成并加载包含文本的新页面。如果您在浏览器仍然在上一页完成提交之前测试 current_path,测试将失败

关于ruby-on-rails - 如何使用 rspec 和 capybara 测试索引/确认/完成流页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31978636/

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