我有一个 Rails 应用程序,它的行为取决于访问的域(例如 www.myapp.com 将以不同的方式调用 user.myapp.com)。在生产使用中,这一切都工作正常,但我的测试代码总是看到主机名“www.example.com”。
有没有一种干净的方法让测试指定它假装访问的主机名?
See the docs,第 5.1 节可用于集成测试的助手.
或者,在 spec_helper.rb 级别全局配置请求规范:
RSpec.configure do |config|
config.before(:each, type: :request) do
host! 'my.awesome.host'
end
end
See the docs,第 4.4 节可用的实例变量.
From @AminAriana 的回答
...或通过 RSpec:
controller.request.host = 'my.awesome.host'
See the rspec-rails
查看规范文档.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)