Kullanıcının sınava girmesine izin verecek bir uygulama oluşturuyorum. Sınav nesnesi has_many soruları ve kullanıcının sınava iki bölüm halinde girmesini istiyorum. kullanıcı sorunları/sınav GET YaniRspec ile bir kaynakların üye rotalarını test etme rspec
resources :exam do
member do
get 'get_part1'
put 'put_part1'
get 'get_part2'
put 'put_part2'
end
end
, /: Bu iş akışını uygulamak için, ben config/routes.rb aşağıdaki yolları oluşturduk kimliği/get_part1 onlar soruların ilk seti gösterilmektedir vs… Bu çalışmanın hepsine sahibim ve şimdi bunun için testler yazmaya çalışıyorum - bunun geriye doğru olduğunu biliyorum ama karmaşık formları ve şeyleri anlamak bana biraz zaman aldı. Oturum açmış bir kullanıcı değilseniz, sınav denetleyicisine erişemeyeceğinizi test etmek istiyorum. Bu yeni için doğru ve yaratıyor ama iç içe geçmiş üyeleri nasıl test edeceğimi bulmakta zorlanıyorum. İşte ben bugüne kadar çalıştığım buydu:
before(:each) do
@exam = Exam.create
end
it "should deny access to 'get_part1'" do
get get_part1_exam_path(@exam)
response.should redirect_to(signin_path)
end
Ancak bu test aşağıdaki hata nedeniyle başarısız:
Failure/Error: get get_part1_exam_path(@exam)
ActionController::RoutingError:
No route matches {:controller=>"exams", :action=>"/exams/1/get_part1"}
Herhangi bir yardım büyük takdir. Teşekkürler! Büyü gibi
get :get_part1, :id => @exam (or @exam.id)
Çalışır: – spinlock
Rica ederim :) –