Тестирование маршрутов с помощью Rspec в Rails 3 - PullRequest
2 голосов
/ 24 февраля 2011

У меня есть форма, которая должна быть действием POST to CREATE, но она выполняет действие POST to INDEX.Поэтому я решил проверить свои маршруты с помощью rspec.В моем примере у меня есть мой тест следующим образом.

it "should recognize a specific invoices#create route" do
  assert_routing("/invoices", {:controller => "invoices", :action => "create"})
end

, но когда я запускаю тест, возникает эта ошибка.

1) InvoicesController on get to :index should recognize a specific invoices#create route
 Failure/Error: assert_routing("/invoices", {:controller => "invoices", :action => "create"})
 The recognized options <{"action"=>"index", "controller"=>"invoices"}> did not match <{"controller"=>"invoices", "action"=>"create"}>, difference: <{"action"=>"create"}>.
 Expected block to return true value.

Так что я пытаюсь выяснить, почему моя формаделает POST на INDEX и почему мой тест думает, что я делаю индексный маршрут.Я попытался вставить: method =>: post в тесте, но, похоже, он не работает.

1 Ответ

4 голосов
/ 24 февраля 2011

Вы пробовали это?:

assert_routing({ :path => "invoices", :method => :post }, 
  { :controller => "invoices", :action => "create" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...