Я новичок в рельсах и начинаю с создания своего первого набора тестов.Неисправность при тестировании: ожидаемый ответ был <redirect>, но был <200>
В моих тестах я получаю следующую неудачу:
Expected response to be a <redirect>, but was <200>
Этот ответ является странным, так как редирект явно работает при тестировании с помощью браузера. Кто-нибудь имеет представление о том, что может происходить здесь, или о том, что лучше всего подходит для диагностики такой проблемы. Например, есть ли способ узнать, на какой странице было отправлено 200 сообщений.
Тестовый скрипт (user_controller_test.rb)
test "when correct should redirect to dashboard" do
log_in_as(@user_one)
assert_redirected_to dashboard_url
end
Полный консоли сообщение
FAIL["test_should_get_dashboard_when_correct_user", UsersControllerTest, 2015-12-23 18:06:20 +1100]
test_should_get_dashboard_when_correct_user#UsersControllerTest (1450854380.57s)
Expected response to be a <redirect>, but was <200>
test/controllers/users_controller_test.rb:27:in `block in <class:UsersControllerTest>'
Контроллер:
class SessionsController < ApplicationController
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
params[:session][:remember_me] == '1' ? remember(user) : forget(user)
redirect_back_or dashboard
else
flash.now[:danger] = 'Invalid email/password combination'
render 'new'
end
end
Я думаю, что что-то отличается от теста вашего контроллера и ручного тестирования в браузере. –
Какое содержимое страницы вы возвращаете с 200? Осмотрите его, и это может привести к решению. –
Можете ли вы добавить свой контроллер/действие? –