Minitest 5 - 套房级设置

时间:2015-09-22 20:56:04

标签: ruby-on-rails ruby minitest

如何使用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

1 个答案:

答案 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

不是最优雅的解决方案,但为我工作。