2010-09-27 25 views
5

ile test ederken ben de "kullanıcı için spec_helper.rb bu çizgiyiKullanıcı girişi RSpec ve authlogic

require "authlogic/testcase" 

testi kullandık

require 'spec_helper' 

describe ProductsController do 
setup :activate_authlogic 

describe "user not logged in" do 

it "should not GET index" do 
get :index 
response.should redirect_to(login_path) 
end 

end 

describe "user logged in" do 

before(:each) do 
UserSession.create :username => "rohit", :password => "test123" 
end 

it "should GET index" do 
get :index 
response.should redirect_to(products_path) 
end 

end 

end 

aşağıdaki gibi bir kontrolör test etmek için bir spec var Sen '/ ürünler getirme çünkü geçişlerde" ama için 'yapmadınız' giriş yapan kullanıcı, normal görünüyor

'ProductsController user is logged in should GET index' FAILED 
expected redirect to "/products", got no redirect 

cevap

-1

ile başarısız 'Kayıtlı bir kullanıcı ile url. Sonra bu sayfayı görüyor. Gördüğü sayfaya yönlendirmiyor.

Her test bağımsızdır. Bir önceki testte hiç bir durum kaydedilmez.

+0

Neden "giriş yapmış kullanıcı" örneğinde bir yönlendirme alıyorum, en azından bir yere yönlendirilmelidir. Redirect_to (products_path) yerine redirect_to (login_path) kullanmayı bile denedim, yine aynı hatayı alıyordum. Neden? – Rohit

+0

Bu denetleyicide başka bir şey yoksa redirect_to yoksa yalnızca 'sayfalara' sormanız normaldir. Eğer daha fazla bilgi – shingara

+0

istiyorsanız Üretim kontrolünüzü koyun, temel olarak ne diyorsunuz. Redirect_to satırını – Rohit

İlgili konular