[英]In Rails 4 How to Test Devise Custom Registration Paths?
我已經定制了像這樣的devise
路徑:
devise_for :users, path: '', path_names: { sign_in: 'signin', sign_out: 'signout', password: 'secret', confirmation: 'verification', unlock: 'unblock', registration: 'signup', sign_up: 'new' }
因此,例如,它使用戶注冊路徑像這樣http://localhost:3000/signup/new
。 現在的問題是,我不知道如何測試此頁面。 這是users_controller的測試:
require 'test_helper'
class UsersControllerTest < ActionController::TestCase
test "should get signup" do
get :signup_new
assert_response :success
assert_select "title", "SignUp | #{Figaro.env.app_name}"
end
end
如何在測試文件中訪問這些自定義路徑?
您可能正在測試錯誤的控制器。 檢查您的路由( rake routes
)以查看分配了哪個控制器來處理您的Devise身份驗證路由。 默認情況下,我相信它是Devise::SessionsController
。
我不認為這是你的意圖,但值得一提的,你不應該測試色器件寶石。
請注意,模擬了對ActionController :: TestCase的請求。 如果您想測試真實的請求,則應該進行集成測試。 可以在這里找到簡要概述
在Devise gem中查看有關如何在此處登錄用戶的一些示例。 注意,在測試類頂部附近添加了include Devise::TestHelpers
,它添加了sign_in
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.