javascript - 如何在我的 RSpec/Capybara/Selenium 测试中要求 Javascript 文件进行测试?

标签 javascript jquery ruby-on-rails rspec capybara

我正在尝试要求一些 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'

但这只是给了我

无法加载此类文件 -- spec/javascripts/helpers/jquery.simulate.js (LoadError)

最佳答案

以与生产 Javascript 相同的方式将仅测试 Javascript 放在您正在测试的页面上。将测试支持库移动到您的 Assets 目录。无论你在哪里包含 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 %>

关于javascript - 如何在我的 RSpec/Capybara/Selenium 测试中要求 Javascript 文件进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613783/

相关文章:

javascript - 不能减少或增加 -webkit-transform 的属性值

jquery - 如何避免 div 列表上出现双边框

javascript - jQuery 显示/隐藏所需的密码字段

javascript - 不使用 jQuery 在文档上注册事件

javascript - 将元素宽度设置为元素宽度百分比宽度在页面加载时不正确

ruby-on-rails - RoR 应用程序中的 "getaddrinfo: Temporary failure in name resolution"

ruby-on-rails - Rails 4,Heroku 上的回形针无法识别损坏的图像

ruby-on-rails - 第一次使用 Rails 5,tsort_each 有问题

javascript - 在 React 中,为什么从我们的代码中的另一个函数调用一个函数不起作用并显示?

javascript - 如何使用 jQuery 设置 overflow-x?或者 : How to set css-properties with a '-' (dash)?