【问题标题】:Rspec: Capybara server map a directoryRspec:Capybara 服务器映射一个目录
【发布时间】:2019-01-11 11:55:36
【问题描述】:

我在 spec/support/fixtures 目录下的文件夹中有一组文件。我需要通过 uri 访问这些文件,例如 "http://127.0.0.0:#{Capybara.current_session.server.port}/test_fixtures"

经过多次尝试和错误,我最终找到了以下解决方案:在 rails_helper.rb 中,我添加了以下代码:

Capybara.app = Rack::Builder.new do
  map '/' do
    run Rails.application
  end
  map '/test_fixtures' do
    run Rack::File.new('spec/support/fixtures')
  end
end.to_app

它运作良好,但重新创建 Capybara 应用程序的解决方案对我来说似乎并不优雅。我正在寻找更好的解决方案……或者这样可以吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails rspec ruby-on-rails-5 capybara rack


    【解决方案1】:

    对于您既定的目标,您已经正确地实现了事情,而这正是 Capybara.app 设置的意义所在。我唯一建议做的是将它移到一个单独的文件中,并在你的 rails_helper 中要求该文件。

    【讨论】:

      猜你喜欢
      • 2010-11-02
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 2011-12-24
      相关资源
      最近更新 更多