2013-04-20 11 views
6

Muszę uruchomić kod przed każdym testem we wszystkich moich testach w MiniTest.Jak uruchomić kod przed każdym przypadkiem testowym we wszystkich testach w MiniTest?

Zanim zrobiłem:

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

Po uaktualnieniu do wersji 4.7.2 MINITEST pokazuje następujący błąd:

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

Używam Ruby MRI 2.0.0p0.

ROZWIĄZANIE

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 

Odpowiedz

2

myślę, że szukasz sposobu setup().

+1

Istnieje również ['teardown()'] (http://www.ruby-doc.org/stdlib-1.9.3/libdoc/minitest/unit/rdoc/MiniTest/Unit/TestCase.html#method- i-tuardown), która jest partnerem dla 'setup'. –

+0

Nie jestem pewien, czy tego właśnie szukam. Potrzebuję sposobu na uruchomienie kodu przed każdym przypadkiem testowym w WSZYSTKICH moich pakietach testowych. Na przykład mam 10 plików testowych. Chcę go ustawić raz, aby działał przed każdym przypadkiem testowym we wszystkich 10 plikach. – Evgenii

Powiązane problemy