在 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..^C.E......^CE..^CE.......^C^C^CE.E.^CE^CE^C^CE^CE..^C.E...^CE.^CE..^CE...^C.E..^C.E..^C.E..^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]
最佳答案
看来 ruby-1.9.1 包含一个非常古老的 minitest 版本。 这种(不寻常的)行为很久以前就已修复:minitest commit .
解决方案可能是切换到更高的 1.9 版本(ruby-1.9.2 的 minitest 确实包含该修复程序)或升级本地 ruby-1.9.1 minitest(手动或希望仅通过安装最新的 minitest gem)。
关于ruby - 如何停止 Minitest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935466/