升级sprockets-rails gem break测试

时间:2016-01-07 18:39:19

标签: ruby-on-rails ruby-on-rails-4 testing rubygems sprockets

从版本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"。然而,测试失败了。

有人理解这个吗?我该如何解决呢?

1 个答案:

答案 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