MiniTest中是否有相当于RSpec的(:all)?

时间:2010-03-31 22:38:41

标签: ruby unit-testing minitest

由于它现在似乎已经取代了1.9.1中的TestUnit,我似乎找不到与之相当的东西。当你真的只想要一个方法为测试套件运行一次时,次。 现在我已经采取了一些可爱的hackery:

Class ParseStandardWindTest < MiniTest::Unit::TestCase
  @@reader ||= PolicyDataReader.new(Time.now)  
  @@data ||= @@reader.parse  
  def test_stuff  
    transaction = @@data[:transaction]  
    assert true, transaction  
  end  
end

2 个答案:

答案 0 :(得分:3)

Nops,只有设置拆解,并且两者都在每次测试之前/之后运行。但是你的解决方案似乎可以解决问题。

答案 1 :(得分:0)

最好使用我发现的'let'。

例如(使用minitest/spec

describe "my amazing test" do

  let(:reader) { PolicyDataReader.new(Time.now) }
  let(:data) {reader.parse}

  it "should parse" do
    transaction = data[:transaction]
    transaction.must_equal true
  end

end

使用minitest/spec只需添加

gem 'minitest', require: ['minitest/autorun', 'minitest/spec']

Gemfile

的测试组