如何在 MiniTest 中捕获失败和错误事件

How to capture on fail and on error event in MiniTest

当断言失败或测试中出现错误时,我需要在 MiniTest 中执行一些操作。这该怎么做。最好是可以在 test_helper.rb

中全局写入一次的东西

我试过像这样的 minitest-retry

require 'minitest/retry'
Minitest::Retry.use!(
retry_count:  1,   
verbose: true,           
io: $stdout,             
)

Minitest::Retry.on_failure do |klass, test_name|
  puts "One test failed"
end

但是报错如下

<top (required)>': undefined methodon_failure' for Minitest::Retry:Module (NoMethodError)

以下适合我的作品:

require 'minitest/autorun'
require 'minitest/retry'

Minitest::Retry.use!(
  retry_count:  1,
  verbose: true,
  io: $stdout,
)

Minitest::Retry.on_failure do |klass, test_name|
  puts "One test failed"
end

class Minitest::RetryTest < Minitest::Test
  def test_fail
    assert false, 'test fail'
  end
end