如何在minitest中使用“after_run”?

3
我该如何使用after_run类函数,在所有测试完成后运行一些代码?我尝试了多种方法,但都出现了NoMethodError错误:
class MyTest < Minitest::Test
  after_run {
    puts "After run!"
  }
end

# -------------------------------------------------------------------------------

class MyTest < Minitest::Test
  self.after_run {
    puts "After run!"
  }
end

# -------------------------------------------------------------------------------

class MyTest < Minitest::Test
end

MyTest.after_run {
  puts "After run!"
}

使用Minitest 5.2.2


Minitest.after_run { p $debugging_info } 将其放入 test_helper.rb 进行测试。 - Sergio Tulentsev
@SergioTulentsev:假设这将在每个测试套件之后运行,对吗? - Hubro
不,整个套件运行完毕之后。 - Sergio Tulentsev
@SergioTulentsev:我明白了...这对我来说一点用都没有 :P - Hubro
1个回答

3

我曾以为 after_run 会在类中的所有测试执行完后运行,但是像Sergio Tulentsev指出的那样,它会在整个测试套件完成后才运行。为了完整起见,以下是它的用法:

Minitest.after_run {
  puts "The whole test suite is complete"
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接