Rspec进程挂起在不同的地方,进程无法被杀死.如何诊断?

MAc*_*man 5 ruby macos rspec imagemagick minimagick

在我正在开发的rails应用程序中(在OS-X上),我发现通过rspec越来越频繁地锁定运行测试套件.它不会每次都发生.我--format documentation在运行套件时尝试添加,看看它是否每次都发生在同一个地方,但事实并非如此.

我试过杀了这个过程kill -9.然后它将名称更改为(ruby),进程状态为?E.此链接表明该进程被阻止等待系统调用完成.每次发生这种情况我都必须重启我的机器才能杀死这个过程.

我已经尝试重新安装rvm,ruby,mysql和imagemagick.这个项目正在使用imagemagick(通过mini_magick)gem,我怀疑它可能是导致rspec阻塞的这些命令之一.我尝试puts在每个mini_magick命令周围添加语句以确保它们完成执行,并且所有看起来都很好.

我正在寻找有关如何诊断此问题的建议.

Xav*_*avM 0

您的问题可能是顺序依赖性错误,您可以传递种子并且顺序将保持一致。RSpec 打印出用于随机发生器种子的随机数。使用此数字以相同的顺序运行 rspec --order rand:3455