在Sinatra测试中,env['SERVER_NAME']
默认为www.example.com
。我怎么把它设为任意定义域?
Capybara有.default_host
方法,但不使用Capybara。
或者,是否有可能改变环境[DEFAULT_HOST
]?
使用RSpec, Sinatra, WebMock.
编辑:添加env['SERVER_NAME'] = 'www.foo.com'
到RSpec测试引发异常:
NameError: undefined local variable or method 'env' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fe6ce3b5ff8>
env
helper只能在Sinatra应用中访问。
一种改变它的方法是在发出请求时:
get "/blah", {}, {'HTTP_SERVER_NAME' => 'www.foo.com' }
机架/测试get
或post
的第三个参数是标头哈希值