From: Hiroyuki Iwatsuki Date: 2006-03-18T14:49:17+09:00 Subject: [ruby-list:41927] Re: require 'test/unit'の挙動について 岩月と申します。 06/03/18 に Atsushi Yoshida さんは書きました: > if $0 == __FILE > などを使わずにどのようにこのような挙動を実現しているのでしょうか? test/unit.rb の末尾にあります at_exit メソッドによって、 Ruby インタプリタ終了時に実行されるコードが登録されています: at_exit do unless $! || Test::Unit.run? exit Test::Unit::AutoRunner.run end end そのため、テストコード自身に実行処理を書かずとも、 インタプリタが終了する際にテストが行われます。 at_exit については以下のページをご覧下さい: Rubyリファレンスマニュアル - 組み込み関数 http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%B4%D8%BF%F4#at_exit Rubyリファレンスマニュアル - 終了処理 http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%BD%AA%CE%BB%BD%E8%CD%FD -- IWATSUKI Hiroyuki