Bug #821
closeduninitialized constant Test::Unit::AutoRunner
Description
=begin
require 'test/unit'
Test::Unit::AutoRunner.run(true, './somedir')
(注: ./somedir 以下にはテストが書かれたスクリプトが多数ある状態)
を実行すると、テストを1件も実行せず、以下のエラーが出ます。
Loaded suite test/runner
Started
Finished in 0.000528 seconds.
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
runner.rb:2:in `': uninitialized constant Test::Unit::AutoRunner (NameError)
% ruby -v
ruby 1.9.1 (2008-12-01 revision 20438) [i686-linux]
Ruby 1.8.7では正常にテストが実行されます。
% ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
[ruby-core:18891]と関係があるかもしれません。
=end
Updated by ko1 (Koichi Sasada) about 16 years ago
- Assignee set to matz (Yukihiro Matsumoto)
=begin
=end
Updated by ngoto (Naohisa Goto) about 16 years ago
=begin
On Tue, 9 Dec 2008 14:57:36 +0900
Tanaka Akira akr@fsij.org wrote:
1.9 の test/unit は 1.8 の test/unit ではなく、minitest のラッ
パーで、現在 Test::Unit::AutoRunner はありません。なぜ Test::Unit::AutoRunner が必要なんでしょう?
1.8で動いていたスクリプトを最小の手間で1.9対応に移行するためです。
そして、可能な限り同じコードで1.8と1.9の両方で動くようにしたいです。
自作のプログラムを1.9に対応させようとする場合、まずはテストを実行して
failureやエラーが出た場所を修正するという手順を踏むことが多いだろう
と推測しますが、Test::Unit::AutoRunnerが廃止されてしまうと、
Test::Unit::AutoRunnerをテストに使用しているソフトの場合は、
いきなりテストが1個も実行されない状態になって途方に暮れる気がします。
もっとも、Test::Unit::AutoRunnerは1.8.2以前と1.8.3以降で
第一引数の意味が真逆になってしまったので、そこまで考えると、
どのみちRUBY_VERSIONで判別して分岐する必要があるため、
1.9で同程度の機能が別クラス/別メソッドで提供されるのなら、
そちらを使うように変更すればOKかもしれません。とはいえ、
同等機能があるなら、何らかのラッパを提供して欲しいとは思います。
--
後藤 直久 ngoto@gen-info.osaka-u.ac.jp
=end
Updated by yugui (Yuki Sonoda) about 16 years ago
- Target version changed from 1.9.1 Release Candidate to 2.0.0
=begin
@ Ruby開発会議にて
- このケースでしたら、testrbを使ってください。
- 1.9では、gem化された古いバージョンのtest/unitもあります。
- 1.9.1はfeature freezeされているので、それ以外のユースケースでAutoRunnerが必要かどうかについては1.9.2以降を念頭に検討します。ユースケースの提供は歓迎します。
=end
Updated by naruse (Yui NARUSE) about 15 years ago
- Status changed from Open to Feedback
- ruby -v set to ruby 1.9.2dev (2009-10-19 trunk 25399) [x86_64-freebsd7.2]
=begin
これは close しちゃっていいですか?
1.9.2 で AutoRunner が欲しい方はユースケースとともに異議を唱えてください
=end
Updated by ngoto (Naohisa Goto) about 15 years ago
=begin
ユースケースとはちょっと違うかもしれませんが、
setup.rb (http://www.loveruby.net/ja//projects/setup/ ) が
% ruby setup.rb test
にてテストを実行する際に AutoRunner を使用している、というのはあります。
ただし、そもそも setup.rb が Ruby 1.9.2 で正常に動くかどうかは未確認です。
私自身は、gem をインストール、rake test に移行、など代替手段はあるので、
AutoRunner が無いのが Ruby 1.9.x の仕様ということなら異議はありません。
=end
Updated by mame (Yusuke Endoh) over 14 years ago
- Status changed from Feedback to Rejected
=begin
遠藤です。
起票者の後藤さんが納得しているようなので、1.9.x の仕様として
close します。非常に遺憾ですが。
標準添付ライブラリの切り替えには注意しようという教訓ですね。
自称「互換」を手放しで信用するなとか。
--
Yusuke Endoh mame@tsg.ne.jp
=end