从版本2.3.3升级到sprockets-rails
版本3.0后,下面的集成测试失败。它过去但现在给出了错误:Expected exactly 2 elements matching "img[src*='profile.gif']", found 0..
。
测试:
get user_path(@user1)
puts @response.body
assert_select "img[src*='profile.gif']", count: 2
puts @response.body
确认图像存在两次,因为身体包含两次:
src="/assets/account/profile-3454be0beae***256dab6d.gif"
。然而,测试失败了。
有人理解这个吗?我该如何解决呢?
答案 0 :(得分:1)
更改似乎与Asset Pipeline documentation中所述的rails 4
相关:
Rails 4不再为test.rb中的Sprockets设置默认配置值, 所以test.rb现在需要Sprockets配置。旧的默认值为 测试环境是:config.assets.compile = true, config.assets.compress = false,config.assets.debug = false和 config.assets.digest = false。
因此,如果在测试环境中不期望摘要,则应在config/environments/test.rb
文件中明确配置:
config.assets.digest = false