Issue #4657 has been reported by Shota F…
Feature #4657: add option to hide skip messages on unit/test
Author: Shota F.
Status: Open
Priority: Normal
Assignee:
Category: lib
Target version:
最近test-allでSkipが多いので、skipのメッセージ表示を抑制するオプションを追加してはどうでしょう。
ちなみに、ruby-jaで以下のような流れがありました。
nurse: そういえば、うささんの今のtest-allのskipって、test-allの最後で表示されたほうが嬉しいの?
unak: まったくうれしくない。
nurse: 今表示されてるのも消えたほうがいい?
unak: skipの表示を抑制するオプションはほしい。
以下のパッチを適用するとtest/unit (test-all)に–hide-skipオプションが追加され、
–hide-skipオプションを付けて実行するとSkippedメッセージが表示されなくなります。
従来通り、Skip数は末尾のレポートで確認することができるようになっています。
出力例:
$ make TESTS=‘–hide-skip date’ test-all
./miniruby -I…/…/lib -I. -I.ext/common …/…/tool/runruby.rb
–extout=.ext – “…/…/test/runner.rb” --ruby=“./miniruby -I…/…/lib
-I. -I.ext/common …/…/tool/runruby.rb --extout=.ext --” --hide-skip
date
Run options: “–ruby=./miniruby -I…/…/lib -I. -I.ext/common
…/…/tool/runruby.rb --extout=.ext --” --hide-skip
Running tests:
…SSS…SSSSSSSSSSSSSSSS.SS…
Finished tests in 11.376260s, 11.2515 tests/s, 14151.3116 assertions/s.
128 tests, 160989 assertions, 0 failures, 0 errors, 21 skips
= patch below
diff --git lib/test/unit.rb lib/test/unit.rb
index 1f1bb09…e88309f 100644
— lib/test/unit.rb
+++ lib/test/unit.rb
@@ -103,6 +103,10 @@ module Test
opts.on ‘–ruby VAL’, “Path to ruby; It’ll have used at -j
option” do |a|
options[:ruby] = a.split(/ /).reject(&:empty?)
end
+
-
opts.on '--hide-skip', 'Hide skipped tests' do
-
options[:hide_skip] = true
-
end end def non_options(files, options)
@@ -547,6 +551,7 @@ module Test
end
}
end
-
report.reject!{|r| r.start_with? "Skipped:" } if
@opts[:hide_skip]
result
end
diff --git test/testunit/test4test_hideskip.rb
test/testunit/test4test_hideskip.rb
new file mode 100644
index 0000000…6fe3284
— /dev/null
+++ test/testunit/test4test_hideskip.rb
@@ -0,0 +1,7 @@
+require ‘test/unit’
+
+class TestForTestHideSkip < Test::Unit::TestCase
- def test_skip
- skip
- end
+end
diff --git test/testunit/test_hideskip.rb test/testunit/test_hideskip.rb
new file mode 100644
index 0000000…967ecaf
— /dev/null
+++ test/testunit/test_hideskip.rb
@@ -0,0 +1,20 @@
+require ‘test/unit’
+class TestHideSkip < Test::Unit::TestCase
- def test_hideskip
- test_out, o = IO.pipe
- spawn(*@options[:ruby],
“#{File.dirname(FILE)}/test4test_hideskip.rb”, -
out: o, err: o)
- o.close
- assert_match(/assertions/s.\n\n 1) Skipped/,test_out.read)
- test_out.close
- test_out, o = IO.pipe
- spawn(*@options[:ruby],
“#{File.dirname(FILE)}/test4test_hideskip.rb”, -
"--hide-skip", out: o, err: o)
- o.close
- assert_match(/assertions/s.\n\n1 tests, 0 assertions, 0 failures,
0 errors, 1 skips/, -
test_out.read)
- test_out.close
- end
+end