这似乎是一个愚蠢的问题,但我在任何地方都找不到答案。我正在使用 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'
如何查看完整的堆栈跟踪?
取消注释 config/initializers/backtrace_silencers.rb 中的以下行:
Rails.backtrace_cleaner.remove_silencers!
有趣的是,我们已经使用这个有用的选项这么久了,我什至忘记了它! :-)
我最终通过更新格式化测试输出的
turn
gem 来解决这个问题。
具有完整堆栈跟踪的单元测试有助于在测试过程中识别前端和后端代码中的错误。堆栈跟踪提供有关测试失败的位置和原因的详细信息,显示特定的文件和行号。这使得调试更加容易,确保全栈应用程序的顺利开发。