2

我有一个引发错误的测试。为了追查问题,我最终将此方法添加到名为 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,但这些步骤似乎在回溯中丢失了。任何想法为什么和/或如何获得它们?

4

1 回答 1

2

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

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

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

于 2011-10-07T16:29:34.647 回答