我有一个coffee
类,在create.js.coffee
文件中调用。 开发时效果很好。
但是,在运行功能测试时(使用Capybara
和web-kit
),似乎此类未正确加载。
这些是文件:
资产/ JavaScript的/ app_init.js.coffee
window.MyApp = { }
资产/ JavaScript的/模块/ product_module.js.coffee
window.MyApp.ProductModule = class ProductModule
@show: ->
# Do stuff
资产/ JavaScript的/的application.js
//= require app_init
//= require_tree .
create.js.coffee
console.log window.MyApp => Returns [Object Object]
console.log window.MyApp.ProductModule => Returns undefined
这些返回是我在运行规范和调试时得到的。有什么想法吗?
我正在使用 Rails 5 ,如果这有帮助
答案 0 :(得分:0)
我运行rails assets:precompile
并修复了测试。我不确定为什么我需要预编译资产来运行测试。我可能在配置上有问题。想法?
答案 1 :(得分:0)
似乎test.rb
文件配置,不包括资产编译了。解决方案是将此添加到test.rb
config.assets.compile = true