Разработка и декларативная авторизация Проблемы функционального тестирования - PullRequest
1 голос
/ 10 января 2011

У меня ужасные проблемы с выполнением функциональных тестов при использовании разработки и декларативной авторизации. Я могу использовать помощников по тестированию устройства, чтобы подписать пользователя, а затем переменная current_user заполняется в контроллере. Но как только я использую вспомогательный тест post_with для декларативной авторизации, current_user становится nil.

Может кто-нибудь указать мне на пример того, как писать функциональные тесты при совместном использовании dev и декларативной авторизации?

Спасибо

1 Ответ

1 голос
/ 10 января 2011

У меня была такая же проблема.Вы не можете использовать декларативные полномочия testhelper, такие как post_with, в функциональных тестах с devise.

Для функционального тестирования вы должны использовать devise testhelper, например sign_in и sign_out.Я написал помощник, который использует методы вспомогательного теста devise для функциональных тестов:

def test_with_user(user, &block)
  begin
    sign_in :user, users(user)
    yield
  ensure
    sign_out :user
  end
end

Этот помощник я использую следующим образом:

test_with_user(:max) do
  get :new
  assert_response :success
end

Надеюсь, что поможет.*

...