2013-04-20 5 views
6

MiniTestのすべてのテストで、各テストの前にコードを実行する必要があります。MiniTestのすべてのテストで、各テストケースの前にコードを実行するにはどうすればよいですか?

私がやった前に:

MiniTest::Unit::TestCase.add_setup_hook do 
    ...code to run before each test 
end 

私はバージョンにMiniTestをアップグレードした後、それは次のようなエラーが表示さ4.7.2:私はRubyのMRIの2.0.0p0を使用しています

undefined method `add_setup_hook' for MiniTest::Unit::TestCase:Class (NoMethodError) 

SOLUTION

module MyMinitestPlugin 
    def before_setup 
    super 
    # ...code to run before all test cases 
    end 

    def after_teardown 
    # ... code to run after all test cases 
    super 
    end 
end 

class MiniTest::Unit::TestCase 
    include MyMinitestPlugin 
end 

答えて

2

私はあなたがsetup()方法を探していると思います。

+1

['teardown()'](http://www.ruby-doc.org/stdlib-1.9.3/libdoc/minitest/unit/rdoc/MiniTest/Unit/TestCase.html#method- i-teardown)メソッドを使用します。 –

+0

私はそれが私が探しているものであるかどうかはわかりません。すべてのテストスイートで各テストケースの前にコードを実行する方法が必要です。たとえば、10個のテストファイルがあります。私はそれを1回セットアップして、すべての10個のファイルでそれぞれのテストケースの前に実行します。 – Evgenii

関連する問題