プロジェクトのソースコードをダウンロードし、バグを見つけて修正しました。
ここで、テストを実行して、何かが壊れているかどうかを確認します。
テストはミニテストDSLで行われます。
一度にすべてを実行するにはどうすればよいですか?
該当するレーキタスクなどを検索しましたが、見つかりませんでした。
Rake :: TestTask へのリンクです。
開始するためのページに例があります。
gemのために現在使用している別のものを投稿します。
require 'rake/testtask'
Rake::TestTask.new do |t|
t.pattern = "spec/*_spec.rb"
end
ご覧のとおり、ファイルはすべて/lib
にあり、仕様は/spec
にあり、whatever_spec.rb
という名前であると想定しています
それが役に立てば幸い。
ロックの答えは優れていますが、Rubyコマンドのようにコマンドからminitestを直接実行することもできます。spec/ calculator_spec.rbファイルでテストを実行するには実行:
$ Ruby spec/calculator_spec.rb
Calculator_spec.rbファイルに次のコードを含めることを忘れないでください:
require 'minitest/spec'
require 'minitest/autorun'
Spec /ディレクトリですべてのテストを実行するには、次のコマンドを使用します(詳細についてはこの投稿を参照してください GlobbingはMinitestでは機能しません-1つのファイルのみが実行されます )
$ for file in spec/*.rb; do Ruby $file; done
これは何 - Rake::TestTask
フードの下で、多かれ少なかれ:
Ruby -Ilib -e 'ARGV.each { |f| require f }' ./test/test*.rb
注:lib
&test/test*.rb
(上記)はデフォルトですが、test
&test/*_test.rb
、それぞれ、より典型的です。
ソース: c34d9e0行169のrake/testtask.rb
JRubyを使用していて、起動コストを2回支払うことを避けたい場合(Rakeに対して1回、Rakeが起動するサブプロセスに対して1回)、そのコマンドを使用します。
これが私のrakefile
全体です。これをトップディレクトリに配置します。
task :default => :test
task :test do
Dir.glob('./test/*_test.rb').each { |file| require file}
end
すべてのテストファイルを一度に実行するには、rake
と入力します。それでおしまい!
require 'minitest/autorun'
各ミニテストファイルの上部。 Dir.globは間違いなくMinitestで動作します。
すべてのテストメソッドの名前で、きれいな色のMinitest出力を取得するには、ファイルminitest_helper.rb
私の/ testディレクトリ。 (gem minitest-reportersをインストールする必要がありました):
require 'minitest/reporters'
Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new)
require 'minitest/autorun'
私はただrequire_relative './minitest_helper'
各テストファイルの上部。
これは、Makefileを介して行うこともできます。
default:
echo "Dir.glob('./test/*_test.rb').each { |file| require file}" | Ruby
make
を実行すると、すべてのテストが実行されます。
Rubyの標準ライブラリのみを使用してこれを行う別の方法は、 _Dir.glob
_ を使用することです。 Rubyファイルから、これは次のようになります。
_require "minitest/autorun"
Dir.glob("**/*Test.rb") { |f| require_relative(f) }
_
または、コマンドラインから次のコマンドを使用できます。
_Ruby -I . -e "require 'minitest/autorun'; Dir.glob('**/*Test.rb') { |f| require(f) }"
_
Dir.glob('**/*Test.rb')
は、_*Test.rb
_に一致するファイルを現在のディレクトリで再帰的に検索するので、それらのファイルすべてとrequire
または_require_relative
_を取得します。コマンドラインから_require_relative
_は失敗するため、require
を使用しますが、最初に現在のディレクトリを_$LOAD_PATH
_から_-I .
_に追加します
$ rake test
Rails 5.0ボックス。
これは非常に古い質問ですが、rake test
は、Rails 4.2で機能します。test/ integration /、test/unit /など、test/integration /の下のファイルを含みます。