2009-11-03 3 views
2

redirect_to не подходит для меня в моих тестах на огурцы. Метод step_definition являетсядолжен перенаправить на неработающий

Then /^I should be redirected to "(.*)"$/ do |url| 
    response.should redirect_to(url) 
end 

В Rails 2.3.3 я делаю:

redirect_to some_url, :status => 301 and return false 

Я бегу, что от application_controller.rb и возвращение ложным. Когда я хвост test.log я вижу это перенаправлять еще тест огурец до сих пор не удается с кодом

expected redirect_to ..., got no redirect 

огурца выглядит следующим образом:

Given I go to "/blogs?page=1" 
Then I should be redirected to "/blogs" 

Любая идея, что я не хватает?

+1

FYI, возвращающий false, больше ничего не делает внутри before_filters http://dev.rubyonrails.org/changeset/7984 – BaroqueBobcat

ответ

1

Иногда вам просто нужно сохранить_и_оценку_страницы. Я нахожу, что в любое время огурец дает мне неприятности, потому что это что-то вроде сеансов, и я открываю страницу результатов, чтобы найти неприятную флеш-ошибку или что-то, что точно говорит мне, почему я на этот раз идиот. :)

Не подразумевая, что вы являетесь идиотом, только я делаю то, что я думаю. По крайней мере, это то, что rspec, кажется, думает обо мне большую часть времени.

0

Возможно, измените ответ. Нужно redirect_to (url) 'to' response.should redirect_to (url,: status => 301) ', кроме этого я не вижу ничего плохого.