我正在使用rspec测试我的应用程序,并且我需要有关设计 gem 测试的提示。测试权限以查看某些路径的最佳方法是什么。
例如,我的 ProductController 中有这个回调
before_filter :authenticate_user!, :except => [:show, :index]
我需要这样的东西
before (:each) do
@user = User.create!({
:name => 'Test User',
:email => 'user@test.com',
:password => 'pleaseletmein',
:password_confirmation => 'pleaseletmein'
})
sign_in @user
end
before ([:create, ....]) do
sign_out @user if @user
end
let(:valid_session) { {"warden.user.user.key" => session["warden.user.user.key"]} }
let(:un_valid_session) { {} }
.....
describe "create" do
it "....." do
get(:create, {}, un_valid_session)
response.should redirect_to(root_path)
.....
或者分享你测试这个行为之王的方法。