ruby-on-rails-3 – rails rspec http基本认证测试

如何使用rspec2& amp ;;使用http basic auth测试登录到rails 3.1 app水豚?

我正在使用这个;

 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
最佳答案
Capybara内置Rack::Test.

因此,您可以在发出请求之前使用Rack::Test::Session.basic_authorize method设置Authorization HTTP header field.

basic_authorize 'username', 'password'
get 'index'

转载注明原文:ruby-on-rails-3 – rails rspec http基本认证测试 - 代码日志