Где остальная часть трассировки стека? - PullRequest
2 голосов
/ 07 октября 2011

У меня есть тест, который вызывает ошибку. Чтобы отследить проблему, я добавил этот метод к модели с именем 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, но эти шаги, кажется, отсутствуют в обратном следе. Есть идеи почему и / или как их получить?

1 Ответ

2 голосов
/ 07 октября 2011

Тестовые журналы могут уже иметь трассировку стека, но если нет, вы можете вызвать

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

, где $!это имя по умолчанию для исключения, которое было вызвано.Это должно быть в спасательном блоке.Я бы проверил вашу фабричную реализацию, вероятно, она ассоциирует node_affiliation с объектами формы, или, возможно, существует цепочка отношений.Все ассоциации, объявленные на фабрике, создаются при создании объекта.

...