【问题标题】:How to require Javascript files for testing in my RSpec/Capybara/Selenium tests?如何在我的 RSpec/Capybara/Selenium 测试中要求 Javascript 文件进行测试?
【发布时间】:2016-04-14 04:16:09
【问题描述】:

我试图要求一些 Javascript 文件用于我的 Rails RSpec 测试。它们专门用于测试 jQuery 拖放,但我似乎无法在任何地方找到关于如何要求它们进行测试的文档。我已将 .js 文件复制到 spec/javascripts/helpers,但我不知道如何告诉 RSpec 要求它们。我试图在我的 spec_helper.rb 中要求它们:

require 'spec/javascripts/helpers/jquery.simulate.js'
require 'spec/javascripts/helpers/jquery.simulate.ext.js'
require 'spec/javascripts/helpers/jquery.simulate.drag-n-drop.js'

但这只是给了我

cannot load such file -- spec/javascripts/helpers/jquery.simulate.js (LoadError)

【问题讨论】:

标签: javascript jquery ruby-on-rails rspec capybara


【解决方案1】:

将仅用于测试的 Javascript 放在您正在测试的页面上,就像您在生产环境中使用 Javascript 一样。将测试支持库移动到您的资产目录。无论您在何处包含 jQuery 拖放库,也应包含测试支持库,但前提是应用程序处于测试环境中:

<% if Rails.env.test? %>
   <%= javascript_include_tag 'jquery.simulate.js' %>
   <%= javascript_include_tag 'jquery.simulate.ext.js' %>
   <%= javascript_include_tag 'jquery.simulate.drag-n-drop.js' %>
<% end %>

【讨论】:

  • 谢谢,这正是我所追求的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
相关资源
最近更新 更多