2012-07-19 115 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

相关问题