Технически, вы не должны испытывать необходимость в модульном тестировании механизма разработки - сам камень хорошо протестирован.Я могу понять, что хочу убедиться, что он ведет себя так, как вы его настроили, поэтому:
Devise определенно перенаправляет после успешной аутентификации.Он установит флэш-сообщение, а затем перенаправит либо к тому, что вы указали в качестве корневого в вашем файле маршрутов, либо, если вы попытались получить доступ к странице на сайте и были перенаправлены на страницу входа, он перенаправит вас обратно на страницу, которую выпытались получить доступ.
Для вашего теста попробуйте проверить, что вы перенаправлены на то, что вы указали в качестве пользователя root в файле rout.rb fil.Т.е. в инструкциях устройства написано, что нужно установить его как
root :to => "home#index"
Итак, в вашем тесте попробуйте что-то вроде этого:
require 'spec_helper'
describe YourController do
include Devise::TestHelpers
before (:each) do
@user = Factory.create(:user)
sign_in @user
end
describe "GET 'index'" do
it "should be successful" do
get 'index'
response.should be_success
end
it "should redirect to root" do
get 'index'
response.should redirect_to(root_url)
end
end
Вы можете добавить свойтест флеш-сообщения на это также.Надеюсь, это поможет!