Рейк не знает, как создавать задачи: по умолчанию или minitest - программирование

Рейк не знает, как создавать задачи: по умолчанию или minitest

Я построил драгоценный камень некоторое время назад и не включил никаких тестов (позор на меня). С тех пор я попытался исправить это, включив minitest, но я застреваю прямо из ворот со следующей ошибкой:

Не знаю, как создать задачу 'default'

Здесь мой Rakefile

require 'rake/testtask'

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

И фиктивный файл в test/unit_test.rb

require 'minitest/autorun'

class TestPackage < MiniTest::Unit::TestCase

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

Если я изменил Rakefile, включив task :default => 'minitest', сообщение об ошибке изменится на Don't know how to build task 'minitest'

rake --trace похоже, просто возвращает меня к частям драгоценного камня Rake, которые обрабатывают вызов задачи. Никаких подсказок, которые я вижу:

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

Ответ 1

Рейк-задачи всегда называются. Задача Rake::TestTask называется test, поэтому, если вы запустите rake test, она запустит ваши тесты.

Чтобы сделать Rake::TestTask, ваша задача по умолчанию включает:

task :default => :test

в Rakefile.

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