Есть ли в MiniTest эквивалент RSpec до (: все)? - PullRequest
3 голосов
/ 01 апреля 2010

Так как теперь кажется, что он заменил TestUnit в 1.9.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

Ответы [ 2 ]

3 голосов
/ 29 июля 2011

Нет, есть только настройка и разрыв , и оба запускаются до / после каждого теста.Но ваше решение, похоже, помогает.

0 голосов
/ 07 ноября 2013

Лучше всего использовать «дай», который я нашел.

например (используя 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

...