如何使用minitest 5运行套件级设置和拆卸(所有测试运行之前和之后)?我正在尝试复制为rails 3编写的自定义测试运行器的功能,目前正在将其升级到rails 4。
这似乎是Ruby Minitest: Suite- or Class- level setup?的副本,但.runner的功能已在minitest 5.0 +中弃用
例如,我希望这些在所有测试之前和之后运行。
def before_suites
# code to run before the first test
p "Before everything"
end
def after_suites
# code to run after the last test
p "After everything"
end
答案 0 :(得分:0)
我一直在寻找类似的解决方案。以下是minitest README file提出的解决方案:
describe Blah do
SETUP = begin
# ... this runs once when describe Blah starts
end
# ...
end
我已经尝试过了,但由于我使用了一些test_helper支持方法,因此对我来说并不是很有效。我写了这个简单的解决方法:
class SearchServiceTest < ActiveSupport::TestCase
@@init = 0
def setup
if @@init.eql?(0)
.. setup code goes here ..
@@init = 1
end
end
...
end
不是最优雅的解决方案,但为我工作。