2013-02-25 63 views
5

我有一些軌道控制器,使用authenticate_or_request_with_http_basic - 我如何設置用戶/通過我的rspec示例?如何在我的rspec控制器示例中測試基本身份驗證?

我很驚訝沒有能夠在網上找到這個地方,所以也許我使用錯誤的條款? - 我發現了一些非常古老的東西,或者我覺得非常複雜的東西。似乎在這一點上rspec要麼直接支持這一點,要麼是一個整潔的習慣解決方案。

+1

你有看到這個嗎? http://stackoverflow.com/questions/8013770/solved-rspec-rails-3-1-integration-test-how-to-send-post-request-headers-for – zetetic 2013-02-25 21:59:53

+0

謝謝!這使我想出了一個更簡單的方法... – 2013-02-25 23:07:08

回答

6

這有效。感謝@zetetic指着我在正確的方向

before do 
    @request.env["HTTP_AUTHORIZATION"] = "Basic " + Base64::encode64("username:password") 
end 
+0

使用字符串插值: '@ request.env ['HTTP_AUTHORIZATION'] =「基本#{Base64 ::編碼64('用戶名:密碼')}」' – swrobel 2014-11-05 21:51:30