這以下控制器測試失敗了,我想不通爲什麼:Rspec的測試失敗
describe "GET 'index'" do
before(:each) do
@outings = FactoryGirl.create_list(:outing, 30)
@user = FactoryGirl.create(:user)
end
it "should be successful" do
get :index
response.should be_success
end
end
Rspec的提供了(而無益的)錯誤:
Failure/Error: response.should be_success
expected success? to return true, got false
這裏的代碼實際控制器也是如此:
def index
if @user
@outings = Outing.where(:user_id => @user.id)
@outing_invites = OutingGuest.where(:user_id => @user.id)
else
flash[:warning] = "You must log in to view your Outings!"
redirect_to root_path
end
end
任何人有一個想法是什麼原因導致我的測試失敗?我認爲它可能與外出控制器中的條件有關,但我不知道什麼是合格測試看起來像什麼......
我想你是從控制器的實例變量與規範混淆。在您的控制器中,與@user關聯值的代碼在哪裏? – cfeduke 2012-07-09 23:41:40