Когда я пишу функциональный тест на Ruby on Rails, я получаю 403 ответа на запрос GET / POST

#ruby-on-rails #testing #http-status-code-403

#ruby-on-rails #тестирование #http-status-code-403

Вопрос:

Я пытаюсь создать нового пользователя с помощью моего функционального теста, но пользователь не создан. в результате происходит сбой assert_no_difference(‘User.count’).

Опубликовать часть теста: post :create, :user => { :client_id => ‘xxxx’, :client_secret => ‘гггг’, :email => ‘anp@random.com ‘, :password => ‘testpass’ }

Я получаю это в качестве выходных данных: 1) Сбой: test_should_allow_bare_signup(UsersControllerTest) []: Ожидаемый ответ должен быть <:success> , но был <403>

2) Сбой: test_should_allow_full_signup(UsersControllerTest) []: «User.count» не изменился на 1. <4> ожидалось, но было <3>.

Я чувствую, что тест не может получить доступ к users_controller и, следовательно, приводит к запрету 403.

Ответ №1:

Это потому, что действие create на вашем users_controller требует выполнения аутентификации.

Какой тип аутентификации вы используете?

Решением должно быть выполнение доступа перед отправкой вашего сообщения.