在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
我在Ubuntu Karmic Koala上运行它,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]
答案 0 :(得分:2)
看来ruby-1.9.1包含了一个非常古老的minitest版本。 这种(不寻常的)行为已经修复了很久以前:minitest commit。
解决方案可能是切换到更高版本的1.9版本(ruby-1.9.2的minitest确实包含该修复)或升级本地ruby-1.9.1 minitest(手动或希望只安装最新的minitest gem)。 / p>