我已经按照here找到的教程,但无法获得与新代码相关的任何测试。具体来说,这就是Rails抱怨的地方:
env = if Rails.application.assets.is_a?(Sprockets::Index)
Rails.application.assets.instance_variable_get('@environment')
else
Rails.application.assets
end
asset = env.find_asset(tmp_asset_name)
我得到的确切错误是:
undefined method `find_asset' for nil:NilClass
在测试环境中env为零的原因是什么? (注意:我使用的是minitest_rails)
答案 0 :(得分:1)
禁用assets.compile = false
链轮时
在测试环境中,您可以使用:
Rails.application.assets_manifest.find('cable.js').first
=> #<Sprockets::Asset:3ff35fce4248 "file:///" ... >
取代:
# asset = env.find_asset(tmp_asset_name)
asset = Rails.application.assets_manifest.find(tmp_asset_name).first