簡體   English   中英

在Rails 4中如何測試設計自定義注冊路徑?

[英]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的請求。 如果您想測試真實的請求,則應該進行集成測試。 可以在這里找到簡要概述

UPDATE

在Devise gem中查看有關如何在此處登錄用戶的一些示例。 注意,在測試類頂部附近添加了include Devise::TestHelpers ,它添加了sign_in方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM