我曾经环顾四周,但也许我没有在正确的位置寻找。我试图找出如何测试一个用户不能访问一个页面卫生组织控制器具有测试未经身份验证的用户Rspec/Devise
before_filter :authenticate_user!
理想我想在同一时间捕捉色器件消息
"you need to sign in or sign up before continuing"
我有这如此远
require 'spec_helper'
describe CampaignsController do
it "should not allow a user be able to access without being authenticated" do
get :index
response.should redirect_to(new_user_session_path)
end
末
目前我得到的错误
Failure/Error: response.should redirect_to(new_user_session_path)
Expected response to be a <redirect>, but was <200>
广告活动控制器
class CampaignsController < ApplicationController
before_filter :authenticate_user!
def index
@campaigns = Campaign.all
end
end
在我的天赋帮助我打电话以下
# Include Devise Test Helpers
config.include Devise::TestHelpers, :type => :controller
config.extend ControllerMacros, :type => :controller
controller_macros.rb
module ControllerMacros
def login_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
user = FactoryGirl.create(:user)
sign_in user
end
end
end
我不是在调用这个方法login_user阶段,所以将spec_hel每通电话这个?
怎样运用这个正确
任何帮助表示赞赏
感谢
请发表'CampaignsController'。 –
似乎对我来说,你能确定你没有在某处(你在spec_helper中)调用'sign_in'方法吗?我们是否也可以拥有ApplicationController的代码? – ccyrille
更新,现在思考你的意见后,你可以在 – Richlewis