3

Ruby 1.9.1では、ctrl+cは単一の単体テストのみを強制終了し、その方法でテストプログラム全体の実行を停止することはできません。

対照的に、Ruby 1.8のテスト/ユニットでは、すべてのテストが停止します。

1.9.1のプログレスバーの例:

ruby1.9.1 test/ts_foo.rb 
Loaded suite test/ts_foo
Started

.............................. ^CF.................。 .................................................。 .......... ^ CE .................. ^ C ^ C ^ CE..E .. ^ C ^ C ^ C ^ CEE ^ CE ^ CE ^ CE ^ CE ^ C ^ C ^ CEE ^ CE ^ CE ^ CE ^ CE ^ CE ^ CE .. ^ CE ... ^ C..E .. ^ CE ..... ^ CE .. ^ CE ....... ^ C ^ C ^ CE.E. ^ CE ^ CE ^ C ^ CE ^ CE .. ^ CE ..^CE。^CE.. ^ CE ...^CE。^ CE。^CE。^CE... ^ CE .... ^CE.............。

そして1.8.7未満:

$ ruby test/ts_foo.rb 
Loaded suite test/ts_foo
Started

.................................................。 ......^C。

私はこれをUbuntuKarmicKoalaで実行していますが、Rubyバージョンは

$ ruby1.9.1 --version
ruby 1.9.1p243 (2009-07-16 revision 24175) [x86_64-linux]
$ ruby --version
ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
4

1 に答える 1

2

ruby-1.9.1には非常に古いバージョンのミニテストが含まれているようです。この(異常な)動作はかなり前に修正されています:minitestcommit

解決策は、新しい1.9バージョンに切り替えるか(ruby-1.9.2のミニテストにはその修正が含まれています)、ローカルのruby-1.9.1ミニテストをアップグレードする(手動で、またはできれば最新のミニテストgemをインストールするだけで)可能性があります。

于 2011-10-27T08:01:25.123 に答える