3

在 Ruby 1.9.1 中,我发现ctrl+c只会杀死一个单元测试,并且你不能以这种方式停止整个测试程序的运行。

相比之下,在 Ruby 1.8 中的 test/unit 下,它会停止所有测试。

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]
4

1 回答 1

2

ruby-1.9.1 似乎包含了一个非常古老的 minitest 版本。这种(不寻常的)行为已经在很久以前修复了:minitest commit

解决方案可能是切换到更高的 1.9 版本(ruby-1.9.2 的 minitest 确实包含该修复)或升级本地 ruby​​-1.9.1 minitest(手动或希望仅通过安装最新的 minitest gem)。

于 2011-10-27T08:01:25.123 回答