3

由于它现在似乎已经在 1.9.1 中取代了 TestUnit,我似乎无法找到与之等效的东西。有时真的只想让一个方法为测试套件运行一次。现在我已经采取了一些可爱的黑客行为:

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

2 回答 2

3

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

于 2011-07-28T23:53:06.947 回答
0

最好使用我发现的“让”。

例如(使用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

于 2013-11-07T03:16:05.973 回答