4

给定一个类似的操作

class MyOperation < Trailblazer::Operation
  step :do_a!
  step :do_b!

  def do_a(options, **)
    false
  end

  def do_b(options, **)
    true
  end
end

和结果run(MyOperation),我怎么知道操作的哪一步失败了?

如果结果对象默认不包含此信息,那么添加它的好方法是什么?

4

1 回答 1

2

现在有这个 gem 提供特定于操作的调试实用程序 - https://github.com/trailblazer/trailblazer-developer

它使您可以准确地看到哪个步骤引发了异常,或者哪个步骤导致跟踪从成功变为失败。

Trailblazer::Developer.wtf?(MyOperation, options)

它将在 STDOUT/Logger 上打印步骤跟踪。

在此处输入图像描述

于 2020-01-14T08:18:33.007 回答