我最近开始将我的应用程序中的一些标准请求转换为 XHR (Ajax) 请求。我正在更新我的 RSpec 测试以反映这一点,但遇到此错误消息:
Expected response to be a <:redirect>, but was <401>
我的规格看起来像:
describe "#index" do
subject { xhr :get, :index, params }
it { should redirect_to new_customer_session_path }
end
test.log 文件条目如下所示:
(0.2ms) BEGIN
Processing by SocialNetworks::FacebookCommentsController#index as JS
Parameters: {"id"=>"84", "facebook_post_id"=>"17"}
Completed 401 Unauthorized in 21ms
Rendered text template (0.0ms)
(0.2ms) ROLLBACK
这些是在未登录(未经授权)的用户的上下文中。当我将断言更改为:
it { response.status.should == 401 }
我收到此错误:
Failure/Error: it { response.status.should == 401 }
expected: 401
got: 200 (using ==)
以及相应的,无用的日志条目......
(0.1ms) BEGIN
(0.0ms) BEGIN
(0.1ms) ROLLBACK
(0.1ms) ROLLBACK
我想断言当一个未经授权的状态被赋予时,一个未经授权的状态被赋予。任何人都可以帮忙吗?