【发布时间】:2015-09-22 22:14:42
【问题描述】:
我想通过一个测试,但我无法通过,我是新手。
这是我的 git 存储库的链接https://github.com/FrankWiebe/nameofapp
失败消息如下所示:
1) UsersController GET #show No user is logged in redirects to login
Failure/Error: expect(response).to redirect_to(root_path)
Expected response to be a <redirect>, but was <200>
# ./spec/controllers/users_controller_spec.rb:24:in `block (4 levels) in <top (required)>'
这是代码:
require 'rails_helper'
describe UsersController, :type => :controller do
before do
@user = User.create(email: "doe@example.com", password: "1234567890")
end
describe "GET #show" do
context "User is logged in" do
before do
sign_in @user
end
it "loads correct user details" do
get :show, id: @user.id
expect(response).to have_http_status(200)
expect(assigns(:user)).to eq @user
end
end
context "No user is logged in" do
it "redirects to login" do
get :show, id: @user.id
expect(response).to redirect_to(root_path)
end
end
end
end
【问题讨论】:
-
失败信息是什么?
-
添加了失败信息。
-
您的 UsersController 中的
load_and_authorize_resource定义在哪里? -
它在 users_controller.rb 的第三行还是你的意思是在 users_controller_spec.rb 文件中?因为它不在里面。
标签: ruby-on-rails rspec