我正在通过 capybara-webkit 驱动程序上的 parallel_tests 运行我的规范。我有以下红宝石环境:
ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.4.2]
在包含以下内容的 gemset 上运行 rvm(为了相关性而截断了 capybara、rails、rspec 和 parallel_tests。如果看到我的 gemset 的更大范围会有所帮助,请告诉我):
*** LOCAL GEMS ***
...
capybara (1.1.2)
parallel_tests (0.8.12)
rails (3.2.11)
rspec (2.11.0)
当我在单个进程上运行我的测试服时rake spec
,我的所有测试都会运行完成。但是,在运行 parallel_tests 时,会发生以下情况:
8 processes for 220 specs, ~ 27 specs per process
此后,这些进程最终将开始返回:
Finished in 11 minutes 15.76 seconds
Finished in 11 minutes 28.89 seconds
但是,在前 6 个进程返回后,parallel_spec 将无限期挂起,永远不会终止,并且永远不会打印剩余 2 个进程的输出。
我在运行 OS X Lion 的 MacBook Pro 上,配备 2.4GHz Intel i7。
所以我的问题很简单:它为什么挂起,我如何调试它挂起的原因,以及如何阻止它挂起并允许 parallel_tests 运行完成?