2013-04-20 7 views
6

Ich muss Code vor jedem Test in allen meinen Tests in MiniTest ausführen.Wie wird Code in jedem Test in allen Tests in MiniTest vor jedem Testfall ausgeführt?

Bevor ich tat:

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

Nachdem ich Minitest auf Version aktualisiert 4.7.2 es wird folgende Fehler zeigt:

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

I Rubin MRI 2.0.0p0 verwende.

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 

Antwort

2

Ich denke, dass Sie für die setup() Methode suchen.

+1

Es gibt auch die ['teardown()'] (http://www.ruby-doc.org/stdlib-1.9.3/libdoc/minitest/unit/rdoc/MiniTest/Unit/TestCase.html#method- i-teardown) Methode, die Partner für 'setup' ist. –

+0

Ich bin mir nicht sicher, wonach ich suche. Ich brauche einen Weg, Code vor jedem Testfall in ALLEN Testsuiten auszuführen. Zum Beispiel habe ich 10 Testdateien. Ich möchte es einmal einrichten, damit es vor jedem Testfall in allen 10 Dateien läuft. – Evgenii

Verwandte Themen