2012-12-27 6 views
14

Ich baute ein Juwel vor einer Weile und hatte keine Tests (Schande über mich). Ich habe dies seit versucht, Abhilfe durch Minitest einschließlich, aber ich bin immer richtig aus dem Tor mit dem folgenden Fehler fest:Rake weiß nicht, wie man Aufgaben erstellt: Standard oder Minitest

Don't know how to build task 'default'

Hier ist mein Rakefile

require 'rake/testtask' 

Rake::TestTask.new do |t| 
    t.test_files = FileList['test/*_test.rb'] 
end 

Und die Dummy Datei in test/unit_test.rb

require 'minitest/autorun' 

class TestPackage < MiniTest::Unit::TestCase 

    def test 
    assert_equal 10, Array.new(10).size 
    end 
end 

Wenn ich die Rakefile ändern task :default => 'minitest' die Fehlermeldung ändert sich auf 012.356.569 enthalten

rake --trace scheint mich nur zu den Teilen des Rake Gem zurückzuleiten, die Aufgabenaufruf behandeln. Keine Hinweise, die ich sehen kann:

~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/task_manager.rb:49:in `[]' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:115:in `invoke_task' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:94:in `each' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:88:in `top_level' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:66:in `block in run' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/rake/application.rb:63:in `run' 
~/.rbenv/versions/1.9.3-p286/bin/rake:32:in `<main>' 

Antwort

19

Rake Aufgaben werden immer benannt. Die Task Rake::TestTask heißt test. Wenn Sie also rake test ausführen, werden Ihre Tests ausgeführt.

Um Rake::TestTask Ihre Standardaufgabe zu machen gerade sind:

task :default => :test 

in Ihrem Rakefile.

http://rake.rubyforge.org/Rake/TestTask.html

+0

Ah, ich verstehe. Das macht Sinn und es funktioniert. Danke dafür. – michaelmichael