【问题标题】:Is there an equivalent to RSpec's before(:all) in MiniTest?MiniTest 中是否有与 RSpec 的 before(:all) 等价的功能?
【发布时间】:2011-02-03 03:49:25
【问题描述】:

由于它现在似乎已在 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

【问题讨论】:

标签: ruby unit-testing minitest


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    例如(使用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的测试组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      相关资源
      最近更新 更多