如何在script \ console中快速调试帮助器方法。我正在谈论进行更改,然后一遍又一遍地调试。
使用模型方法可以轻松实现,因为我所要做的就是使用 重装! 测试更新的代码,而测试帮助方法,我必须做这样的事情
foo = ActionView :: Base.new foo.extend YourHelperModule
每次我想测试一次变化。
重装什么!做?我可以修改它以添加上面的代码行吗?
答案 0 :(得分:3)
我不认为你可以在不攻击Rails的情况下做到这一点。但是,有一个解决方法 - 在rails debugger中调试helper方法:
1)gem install ruby-debug
2)ruby脚本/服务器--debugger
3)放置<%debugger%>进入某个视图并在浏览器中打开该页面
4)服务器窗口“变成”控制台,您可以在其中调试辅助方法
5)'return'命令结束调试
如果您修改了辅助方法并再次运行调试器,您将获得该方法的最新版本。
有关调试器的更多信息,请访问:http://railscasts.com/episodes/54-debugging-with-ruby-debug
答案 1 :(得分:2)
我建议不要在Test :: Unit或rspec中使用脚本控制台和编写测试。谷歌应该让你指向正确的方向,那里有大量的信息。
答案 2 :(得分:0)
如果你一次又一次地做某事,那么你应该自动化它。假设你知道你的帮助函数应该做什么,那么就像其他地方提到的那样,你应该能够为它编写一个测试(或测试)。
这是测试application_helper的示例。它位于我的test/unit
目录中:
require 'test_helper'
class ApplicationHelperTest < ActiveSupport::TestCase
include ApplicationHelper
test "number_as_pct shows 2dp as default" do
assert_equal "1.10%", number_as_pct(0.011)
end
test "number_as_pct shows more dp when required" do
assert_equal "1.1000%", number_as_pct(0.011, :precision => 4)
end
end