16

私はしばらく前に宝石を作りましたが、テストは含まれていませんでした(恥ずべきことです)。それ以来、ミニテストを含めることでこれを修正しようとしましたが、次のエラーでゲートからすぐにスタックしています。

タスク「デフォルト」の作成方法がわからない

これが私の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

task :default => 'minitest'エラーメッセージを含めるようにRakefileを変更すると、次のように変更されます。Don't know how to build task 'minitest'

rake --traceタスクの呼び出しを処理するRakegemの部分に戻るように指示しているようです。私が見ることができる手がかりはありません:

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

1 に答える 1

20

レーキタスクには常に名前が付けられます。Rake::TestTaskタスクには名前が付けられてtestいるため、実行rake testするとテストが実行されます。

デフォルトのタスクを作成Rake::TestTaskするには、次のものを含めます。

task :default => :test

あなたのRakefile

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

于 2012-12-27T21:21:26.893 に答える