Rails rspec http 基本身份验证测试
如何使用 rspec2 和 http basic auth 测试登录到 Rails 3.1 应用程序水豚?
我正在用这个;
describe "GET 'index'" do
it "should be successful" do
request.env["HTTP_AUTHORIZATION"] = "Basic " + Base64::encode64("username:password")
get 'index'
response.should be_success
end
end
但它给了我这个错误;
NoMethodError:
undefined method `env' for nil:NilClass
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Capybara 内置了 Rack::Test。
因此,您可以使用
Rack::Test::Session.basic_authorize
方法 设置 发出请求之前的授权 HTTP 标头字段。Capybara comes with Rack::Test built in.
So, you can use the
Rack::Test::Session.basic_authorize
method to set the Authorization HTTP header field before making a request.这应该是:
因为 request 不是实例变量。
This should be:
as request is not an instance variable.