6

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

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

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

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

4

1 回答 1

0

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

于 2015-07-17T13:37:51.990 回答