私はしばらく前に宝石を作りましたが、テストは含まれていませんでした(恥ずかしいことです)。それ以来、ミニテストを含めてこれを修正しようとしましたが、次のエラーでゲートからすぐに立ち往生しています。
タスク「デフォルト」の作成方法がわからない
これが私の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
は、タスクの呼び出しを処理する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>'
レーキタスクには常に名前が付けられます。 Rake::TestTask
タスクの名前はtest
であるため、rake test
を実行すると、テストが実行されます。
Rake::TestTask
をデフォルトのタスクにするには、次のものを含めます。
task :default => :test
Rakefile
で。