ruby-on-rails - Capybara 按钮 JS 响应 ActionController 错误
问题描述
我正在为我的项目编写一些测试并遇到一些问题。在测试中,我只是填写了一些字段,我想提交这个表格。它在浏览器中工作,但在测试中,我得到了一个formatError
. 这是错误:
ActionController::UnknownFormat: CompaniesController#update 缺少此请求格式和变体的模板。
request.formats: ["text/html"]
request.variant: []
小测试:
scenario 'update company with valid params' do
visit company_account_information_path
fill_in 'company_name', with: "Mustername für Firma"
fill_in 'company_owner_name', with: "Mustermann"
click_button "Speichern"
end
我还没有添加一些期望,因为它每次都失败了。
编辑:
是的,响应是js!它应该打开一个模式。
解决方案
对于 js 测试,您需要js: true
在场景中指定,并且应该配置像 selenium 或 poltergeist 这样的 webdriver 来使用 capybara 执行 js。
你的测试:
scenario 'update company with valid params', js: true do
visit company_account_information_path
fill_in 'company_name', with: "Mustername für Firma"
fill_in 'company_owner_name', with: "Mustermann"
click_button "Speichern"
end
阅读此文档以配置支持 js Capybara 驱动程序的 webdriver
推荐阅读
- google-sheets - Google 表格 - 通过唯一字符串查找
- azure-api-management - Azure API 管理服务自定义域
- android - 如果我使用 ViewModelFactory,为什么会出现错误“e:错误:无法访问数据源”?
- python-xarray - xarray/datetime64[ns]:从 datetime 中删除或规范化时间
- typescript - Electron 找不到模块 grpc.node
- django - 唯一约束失败:Student_assignments.user_id
- javascript - 将相机设置为从正交透视导致相机改变方向
- mysql - 使用对象更新查询
- string - 无法从字符串创建动态 JSX 标签
- vb.net - 使用请求超时 (Net.WebClient)