Je développe le test pour REST en utilisant shoulda et factory_girl. Code ci-dessoustester REST avec shoulda et factory_girl - détruire
context "on :delete to :destroy" do
setup do
@controller = NewsArticlesController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
@news_article = Factory.create(:news_article)
end
should "destroy new NewsArticle" do
assert_difference('NewsArticle.count', -1) do
delete :destroy, :id => @news_article.id
end
end
should_redirect_to news_articles_path
end
suite i voir
1) Error:
test: on :delete to :destroy should redirect to index. (NewsArticlesControllerTest):
ArgumentError: block not supplied
c:/develop/ruby/lib/ruby/gems/1.8/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/action_controller/macros.rb:201:in `instance_eval'
c:/develop/ruby/lib/ruby/gems/1.8/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/action_controller/macros.rb:201:in `__bind_1248853182_16800
0'
c:/develop/ruby/lib/ruby/gems/1.8/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:351:in `call'
c:/develop/ruby/lib/ruby/gems/1.8/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:351:in `test: on :delete to :destroy should redirect to index. '
Pourriez-vous me dire plz - ce qui est erroné et comment je peux modifier test pour les faire fonctionner à droite?
UPD: routes semble bien
news_articles GET /news(.:format) {:controller=>"news_articles", :action=>"index"}
Non, assert_difference fonctionne très bien, mais comme vous pouvez le voir dans les journaux fournis - il y a un problème should_redirect_to news_articles_path –
Pourriez-vous me montrer votre contrôleur fichier? – Lichtamberg
Je pense que vous n'êtes pas redirigé vers l'index après la suppression? ou vous? – Lichtamberg