2012-12-27 15 views
14

Ho costruito un gioiello qualche tempo fa e non ho incluso alcun test (vergogna su di me). Da allora ho cercato di porre rimedio a questo includendo Minitest, ma mi sto bloccato a destra fuori del cancello con il seguente errore:Rake non sa come creare attività: default o minitest

Don't know how to build task 'default'

Ecco la mia Rakefile

require 'rake/testtask' 

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

E il manichino file in test/unit_test.rb

require 'minitest/autorun' 

class TestPackage < MiniTest::Unit::TestCase 

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

Se cambio la Rakefile per includere task :default => 'minitest' il messaggio di errore cambia a 012.356.

rake --trace sembra indirizzarmi solo alle parti della gemma Rake che gestiscono l'invocazione dell'attività. Nessun indizio che riesco a vedere:

~/.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>' 

risposta

19

Le attività di rastrellamento vengono sempre denominate. L'attività Rake::TestTask è denominata test, quindi se si esegue rake test verranno eseguiti i test.

Per rendere Rake::TestTask il vostro compito di default solo includono:

task :default => :test 

nel vostro Rakefile.

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

+0

Ah, capisco. Questo ha senso e funziona. Grazie per questo. – michaelmichael

Problemi correlati