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

问题描述 投票:0回答:4

这似乎是一个愚蠢的问题,但我在任何地方都找不到答案。我正在使用 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'

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

ruby-on-rails ruby-on-rails-3 unit-testing
4个回答
27
投票

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

Rails.backtrace_cleaner.remove_silencers!

有趣的是,我们已经使用这个有用的选项这么久了,我什至忘记了它! :-)


3
投票

我最终通过更新格式化测试输出的

turn
gem 来解决这个问题。


0
投票

我最终使用了 minitest-reporters gem。

Rails.backtrace_cleaner.remove_silencers!

不适用于我的集成测试。


0
投票

具有完整堆栈跟踪的单元测试有助于在测试过程中识别前端和后端代码中的错误。堆栈跟踪提供有关测试失败的位置和原因的详细信息,显示特定的文件和行号。这使得调试更加容易,确保全栈应用程序的顺利开发。

© www.soinside.com 2019 - 2024. All rights reserved.