2013-03-19 2 views
0

Мои Сессии Контроллервопрос о написании теста действий контроллера

def create 
    auth = request.env["omniauth.auth"] 
    person=Person.find_by_provider_and_uid(auth.provider,auth.uid) || Person.create_with_omniauth(auth) 
    session[:user_id] = person.id 
    redirect_to root_path 
    end 

    def failure 
    redirect_to signin_path , alert: "Authentication failed, please try again." 
    end 

я написал тест на действия отказа испытания в sessions_controller_test.rb

it "failure should redirect to signin_path" do 
    get :failure 
    assert_redirected_to :action => 'new' 
    assert_response :redirect 
end 

Но simplecov инструмент покрытия кода не принимает этот тест как успешный. Simplecov показывает это действие отказа как отсутствующий тест. Как я могу написать тест контроллера для сбой действие. Никто не дает никаких идей об этом? Ниже снимок экрана отчета о покрытии.

enter image description here

ответ

0

Try, указав имя контроллера (сеансов мы надеемся) в assert_redirect_to заявление, как показано ниже.

assert_redirected_to :action => "new", :controller => "sessions" 
+0

Это не сработало. Фактически, тест, который я написал, работает. Но в отчете о покрытии это кажется отсутствующим. – miyamotomusashi

Смежные вопросы