2016-07-12 18 views
0

Ich habe eine Datei mit einer Klasse von mehreren Tests (mit Minitest). Ich habe require 'minitest/autorun' am Anfang der Datei und alle Tests ordnungsgemäß ausgeführt, wenn ich die Datei direkt aufrufen (ruby my_tests.rb).Rake keine Tests mit Minitest ausgeführt

So weit, so gut. Jetzt versuche ich jedoch, meine Tests über rake auszuführen.

require "rake/testtask" 
task :default => [:test] 

Rake::TestTask.new do |t| 
    t.libs << Dir.pwd + "/lib/examples" 
    t.test_files = FileList['test/test*.rb'] 
end 

Aufruf rake zeigt test/my_test.rb immer genannt, aber keine Tests innerhalb der Klasse fahren werden (0 Tests, 0 Behauptungen, etc.). Ich bekomme diese Warnungen:

...gems/minitest-5.8.0/lib/minitest/assertions.rb:17: warning: already initialized constant MiniTest::Assertions::UNDEFINED 
...ruby/2.1.0/lib/ruby/2.1.0/minitest/unit.rb:80: warning: previous definition of UNDEFINED was here 

Wie kann ich meine Tests innerhalb von Rake erfolgreich ausführen? Ich bin nicht mit Schienen.

EDIT: Hier ist die Spitze meiner Testdatei:

require 'minitest/spec' 
require 'minitest/autorun' 
require 'minitest/reporters' 

reporter_options = { color: true } 
Minitest::Reporters.use![Minitest::Reporters::DefaultReporter.new(reporter_options)] 

class Test_PowerSpecInputs < Minitest::Test 
    def setup 
    @mc = TestClass.new() 
    end 

    def test_does_lib_have_constant 
    # my test code 
    end 
end 
+1

Welche Version von Minitest haben Sie installiert? – jphager2

+0

Minitest 5.8.0, Rubin 2.1.0p0, Rake 10.1.0. Ich denke, ich sollte Rake auf die neueste Version aktualisieren und es versuchen. –

+0

Das Aktualisieren der Version von Rake hat den Trick gemacht. Vielen Dank! –

Antwort

1

Versuchen Sie Rakefile dazu ändern.

+0

Ich musste eine Gemspec Datei hinzufügen, da Bundler aufgerufen wurde, aber ich bekomme immer noch den gleichen Fehler. Ich werde oben einen weiteren Kommentar hinzufügen, der weitere Details zum Inhalt meiner Testdatei enthält. –

0

jphager2 hat mich über Werkzeugversionen nachdenken lassen und es stellte sich heraus, dass meine Version von Rake ziemlich alt war. Aktualisierung auf 11.x hat den Trick gemacht.