如何在Rails TestCases中显示更长的跟踪

Mar*_*her 8 ruby unit-testing ruby-on-rails-3

是否有设置的配置变量,或其他一些方式让Rails ActiveSupport::TestCase显示多个跟踪线?否则很难调试.

例:

ERROR test_something (0.73s) 
      SystemStackError: stack level too deep
      /Users/mario/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.0.9/lib/active_record/connection_adapters/abstract/database_statements.rb:153
Run Code Online (Sandbox Code Playgroud)

Ars*_*en7 29

看看你是否还没有文件 config/initializers/backtrace_silencers.rb

它说:

# You can also remove all the silencers if you're trying to debug
# a problem that might stem from framework code.
Rails.backtrace_cleaner.remove_silencers!
Run Code Online (Sandbox Code Playgroud)

你也可以打电话,remove_filters!如果第一个是不够的,但过滤器只使路径更短,而消音器确实从回溯中删除一些线.

您可以找到源代码railties/lib/rails/backtrace_cleaner.rb并且activesupport/lib/active_support/backtrace_cleaner.rb有用.