ruby-on-rails - capybara 按钮 JS 响应 ActionController 错误

标签 ruby-on-rails testing ruby-on-rails-5 capybara

我正在为我的项目编写一些测试,但遇到了一些问题。在测试中,我只是填写一些字段,我想提交这个表格。它在浏览器中工作,但在测试中,我得到了一个formatError。这是错误:

ActionController::UnknownFormat: CompaniesController#update is missing a template for this request format and variant.

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 drivers

关于ruby-on-rails - capybara 按钮 JS 响应 ActionController 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52608050/

相关文章:

ruby-on-rails - Heroku 与 Rails 5 错误 Gem::LoadError: 为数据库适配器指定 'postgresql'

ruby-on-rails - 错误 : column "increment_by" does not exist - Postgres 10 and Rails 5

ruby-on-rails - Carrierwave 条件版本抛出参数错误

ruby-on-rails - Sidekiq,线程用完 - Rails 离开并且没有收获 connection_pool 线程

html - 如何将内联 css 添加到 rails link_to helper

ruby-on-rails - Ruby On Rails 5.2 和多个数据库

ruby-on-rails - ruby sass-rails gem 和 heroku 推送错误

ajax - 您如何使用 Selenium 测试 Ajax 应用程序并使其保持稳定?

testing - 通过桌面应用程序加载测试 Web 服务器

java - 如何在不让 Mockito 进行额外调用的情况下使用 Mockito 检查对函数的调用次数