3

1.9.1 で TestUnit を置き換えたように見えるので、これに相当するものを見つけることができないようです。一連のテストのためにメソッドを 1 回だけ実行したい場合があります。今のところ、次のような素敵なハッカーに頼っています。

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

いいえ、セットアップティアダウンのみがあり、両方がすべてのテストの前後に実行されます。しかし、あなたの解決策はうまくいくようです。

于 2011-07-28T23:53:06.947 に答える
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

于 2013-11-07T03:16:05.973 に答える