我有一个引发错误的测试。为了追踪问题,我最终将此方法添加到名为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
不知何故,创建一个Form也会创建一个NodeAffiliation,但这些步骤似乎在回溯中缺失。任何想法为什么和/或如何获得它们?
答案 0 :(得分:2)
测试日志可能已经有堆栈跟踪,但如果没有,则可以调用
logger.debug $!.backtrace.join("\n")
其中$!是引发的异常的默认名称。这需要在救援区。我会检查你的工厂实现,它可能将node_affiliation与表单对象相关联,或者可能存在一系列关系。在创建对象时,将创建工厂中声明的所有关联。