ruby-on-rails - Capybara - 提交没有按钮的表单

标签 ruby-on-rails testing rspec bdd capybara

我正在尝试仅使用 Capybara 和 Rspec(没有 Cucumber 或 Selenium,我知道已经有一个问题)提交没有按钮的表单。

我看到有一个要点来添加一个提交没有按钮的表单的方法:

module SubmitRackTestFormWithoutButton
  def submit_form!
    Capybara::RackTest::Form.new(driver, form).submit({})
  end
end
Capybara::RackTest::Node.send :include, SubmitRackTestFormWithoutButton

https://gist.github.com/989533 ,但我还没有让它工作,我就它发表了评论:

I get undefined method `submit_form!' for #Capybara::Node::Element:... actually by "Capybara::RackTest::Node.send :include, SubmitRackTestFormWithoutButton" the method submit_form! is added to the Node (not to the Element), but find return an Element

您是否有一些想法来解决这个要点,或者是否有其他解决方案来提交没有按钮的表单?

谢谢

最佳答案

您的所有生产代码都应该是可测试的,因此如果您添加仅供测试使用的代码,那么测试将毫无意义...

尝试这样做:

page.execute_script("$('form#your-form').submit()")

关于ruby-on-rails - Capybara - 提交没有按钮的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757477/

相关文章:

ruby-on-rails - 为什么我没有收到方法错误?

testing - Spring jmsTemplate 发送单元测试不起作用

node.js - 运行 docker 容器进行测试

ruby-on-rails - 期望 "Object"接收消息未按预期工作

ruby-on-rails - Ruby + Passenger - Redmine 部署问题

ruby-on-rails - 懒惰创建 Rails 关联的最佳模式是什么?

rspec - 如何使用 capybara 选择select2下拉字段

ruby-on-rails - 如何在JBuilder中使用RSpec?

ruby-on-rails - 如何以 rails 形式处理多个模型

testing - Twilio 测试凭据日志