具有完整堆栈跟踪的单元测试

时间:2012-02-09 21:58:44

标签: ruby-on-rails ruby-on-rails-3 unit-testing

这似乎是一个愚蠢的问题,但我无法在任何地方找到答案。我正在使用Rails 3.1和Test :: Unit。

当测试失败时,我只看到堆栈的顶部,例如:

ERROR creating a message sends emails (1.35s) 
          NoMethodError: undefined method `project' for nil:NilClass
      /Users/ghempton/.rvm/gems/ruby-1.9.2-p180@gt/gems/activesupport-3.1.3/lib/active_support/whiny_nil.rb:48:in `method_missing'

如何查看完整的堆栈跟踪?

3 个答案:

答案 0 :(得分:26)

取消注释config / initializers / backtrace_silencers.rb中的以下行:

Rails.backtrace_cleaner.remove_silencers!
有趣的是,我们已经和这个有用的选项一起生活了这么久,我甚至忘了它! : - )

答案 1 :(得分:3)

我通过更新格式化测试输出的turn gem来解决这个问题。

答案 2 :(得分:0)

我使用minitest-reporters宝石结束了。

Rails.backtrace_cleaner.remove_silencers!

对我的集成测试不起作用。