Rails 5 Capybara 测试路由错误 public/assets

Rails 5 Capybara Test Routing Error public/assets

我的问题是,在使用 Capybara 方法 save_and_open_page 进行调试时,我按照此 tutorial 尝试在测试环境中加载资产,但出现以下错误:

No route matches [GET] "/public/assets/application-22cc3ed14274a8cdae6670ce999946a627b5fd03c71819fbe4453118dca5ff40.css">

我在 environments/test.rb 中添加了以下参数以尝试使它们正常工作,但我仍然收到此错误。

config.assets.digest = true
config.assets.prefix = '../public/assets/'
config.assets.quiet = true
config.assets.precompile += %w( *.js *.css )
config.public_file_server.enabled = true

感谢您的帮助!

如果您已经在测试环境中预编译了您的资产,那么您应该能够将 Capybara.asset_host 设置为地址你的开发或测试实例是 - 类似于

Capybara.asset_host = 'http://127.0.0.1:3000'

这会在保存和打开页面时将其添加到文档中的基本标记中。

我在 test.rb 中更改了这个 confid 并工作:

config.assets.prefix = '../public/assets/'

config.assets.prefix = ''