【问题标题】:Where's the rest of the stacktrace?堆栈跟踪的其余部分在哪里?
【发布时间】:2011-10-07 16:05:12
【问题描述】:

我有一个引发错误的测试。为了追查问题,我最终将此方法添加到名为 NodeAffiliation 的模型中:

def initialize a1, a2
  raise "kaboom"
end

然后我得到这个错误:

RuntimeError: kaboom
app/models/node_affiliation.rb:13:in `initialize'
    test/unit/audit_test.rb:10:in `__bind_1318003437_24401'

但 audit_test.rb 正在这样做:

Factory.create :form

不知何故,创建表单也会创建 NodeAffiliation,但回溯中似乎缺少这些步骤。任何想法为什么和/或如何获得它们?

【问题讨论】:

    标签: ruby-on-rails ruby backtrace


    【解决方案1】:

    测试日志可能已经有堆栈跟踪,但如果没有,您可以调用

    logger.debug $!.backtrace.join("\n")
    

    $!是引发的异常的默认名称。这需要在救援块中。我会检查您的工厂实现,它可能会将 node_affiliation 与表单对象相关联,或者可能存在一系列关系。工厂中声明的任何关联都会在创建对象时创建。

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 2015-08-15
      • 2018-07-19
      相关资源
      最近更新 更多