J'ai un problème pour tester un contrôleur d'administration rails 3. il semble que l'action du contrôleur ne soit même pas appelée. j'ai testé cela en faisant en sorte que l'action lève explicitement une exception, et le test ne montre pas ce fait.
avec le code suivant, mon test passe. l'exception devrait faire échouer le test si l'action my_custom_action était réellement appelée.
controllers/admin/things_controller.rb
class Admin::ThingsController < Admin::AdminController
def my_custom_action
raise 'this should be bad'
end
end
spec/controllers/admin/things_controller_spec.rb
describe Admin::ThingsController do
it "shouldn't work!" do
post :my_custom_action
end
end
config/routes.rb
namespace :admin do
resources :things do
post :my_custom_action, :on => :collection
end
end
à chaque fois que je supprime la route, le test échoue avec une erreur "no matching route". Je ne comprends pas pourquoi il semble que l'action ne soit pas appelée lorsque la route est définie.
Qu'est-ce qui me manque pour tester les routes de l'espace de nom via rspec ?