2012-07-19 113 views
0

我處於需要運行功能測試時需要逐步控制器方法的情況。我使用ruby-debug來通過我的應用程序進行調試。我的應用程序是一個使用ruby-1.8.7的rails 3.1應用程序。我可以用通過運行功能測試調試控制器方法

軌服務器--debugger OR 軌控制檯--debugger

我也可以通過在模型中插入「調試」停止代碼並運行它的相應的單元測試調試我的代碼。

但我無法對控制器做同樣的事情。那就是我無法通過在控制器的方法中插入「調試器」來停止代碼,並運行它的相應功能測試。

有沒有人遇到過這個問題?

而且我用的設計進行驗證,所以我需要在以下幾行添加到我的test_helper

class ActionController::TestCase 
    include Devise::TestHelpers 

    def login_user 
    @request.env["devise.mapping"] = Devise.mappings[:user] 
    @user.confirm! 
    sign_in @user 
    end 
end 

不知道我這是怎麼回事反正以實現調試器。

+0

有用於與調試運行命令紅寶石調試命令:HTTP:// stackoverflow.com/questions/2663912/rails-debugging-rails-tasks – phoet 2012-07-19 22:20:31

回答

3

我無法停止插在我的控制方法的調試器,當我跑了功能測試,因爲我被擊中的before_filter

+0

你有什麼解釋爲什麼敲擊before_filter避免在測試時調試控制器? – elhoyos 2012-08-02 16:05:27

+0

如果我有一個像authenticated_user之類的過濾器,並且在我的測試中,並且我沒有設置authenticated_user並嘗試在控制器方法中點擊調試器。 如果之前過濾器中的代碼被寫入,以至於沒有經過身份驗證的用戶重定向到主頁。所以當我運行我的測試而不創建經過身份驗證的用戶時,我被帶到了主頁控制器中的另一個方法,而不是預期的方法。 這種方式的代碼從未到達調試器。 – vishal 2012-08-03 20:19:13

相關問題