ミニテストはありませんTest::Unit::TestSuite
。テストが次のようになっていると仮定すると、いくつかのオプションがあります。
require 'minitest/unit'
require 'minitest/autorun'
class FSSessionTest < MiniTest::Unit::TestCase
def test_the_truth
assert true
end
end
ここで重要なのは、囲んでいるスクリプトが終了する直前に、検出できるすべてのテストを実行するためrequire 'minitest/autorun'
に使用することです。at_exit
これが私のテストスイートを実行するための最も簡単な方法だと思います。
Rakeでテストを実行する
たとえば、ディレクトリ内のすべてのテストを実行するRakefile
usingを作成できます。Rake::TestTask
test/
require 'rake'
require 'rake/testtask'
Rake::TestTask.new do |t|
t.pattern = 'tests/**/*_test.rb'
end
でテストを実行します
$ rake test
Rubyファイルでのテストが必要
特定のテストのみが頻繁に必要な場合は、次のようなテストスクリプトを作成することもできます。
require './tests/fs_session_test'
require './tests/resource_test'
require './tests/rest_session_test'
require './tests/server_test'
テストが実行されることを確認するために、このファイルの先頭に含めることもできrequire 'minitest/autorun'
ますが、とにかく、すべてのテストファイルの先頭にこれを実行します。スイートを実行する
$ ruby test.rb
結果
どちらの方法でも同じ出力が得られます。たとえば、次のようになります。
Run options: --seed 5559
# Running tests:
....
Finished tests in 0.001909s, 2095.3379 tests/s, 2095.3379 assertions/s.
4 tests, 4 assertions, 0 failures, 0 errors, 0 skips
mintiestはを利用するためat_exit
、実行する前にテストをグループ化する必要はありません。1つのテストだけの出力を取得することはありません。もちろん、たとえば次のように、単独でテストを実行する場合を除きます。
$ ruby tests/fs_session_test.rb
Run options: --seed 43007
# Running tests:
.
Finished tests in 0.000672s, 1488.0952 tests/s, 1488.0952 assertions/s.
1 tests, 1 assertions, 0 failures, 0 errors, 0 skips