我想更改以下代码
load "API.rb"
require 'minitest/spec'
require 'minitest/autorun'
class Test < MiniTest::Unit::TestCase
MiniTest::Assertions.diff = nil
def setup
end
def test_character_detection
assert_equal "Gandalf", Story.get_first_character(2717)
end
end
puts "TEST"
所以测试将在普通代码之前运行(在这种情况下 - 'puts“TEST”')。
答案 0 :(得分:1)
对不起,迟到了。 Minitest很巧妙。
minitest/autorun
使用at_exit方法。当解释器的工作几乎完成时,它执行给定的块。粗略地说“程序终生”的“最后”。虽然您可以多次调用at_exit
方法,但块将以LIFO顺序执行。
有关at_exit
的更多有趣详情及其使用情况here。
你也可以看一下minitests source code。 (在此文件at_exit
中调用)