如何找到需要这么长时间的 rspec 测试

Posted

技术标签:

【中文标题】如何找到需要这么长时间的 rspec 测试【英文标题】:How to find which rspec test is taking so long 【发布时间】:2011-10-20 06:02:33 【问题描述】:

我们的一个(或几个)测试需要很长时间,我们希望对其进行优化。

我们说有 1000 次测试,所以对我来说运行每个文件是不切实际的。

有没有简单的方法可以找到慢的?

这是 rspec 1.3

【问题讨论】:

【参考方案1】:

在 RSpec 2 和 3 中,您可以使用 --profile 标志或将 --profile 添加到您的 .rspec 文件中。这将跟踪前 10 个最慢的示例。

对于 RSpec 1,您可以使用 --format ospec 命令。它显示了一个基于文本的进度条,其中包含 10 个最慢示例的分析。更多详情see this。

rspec --profile -- path/to/file/spec.rb

【讨论】:

对我来说 --profile 选项不适用于 RSpec2。有什么线索吗? @YuriOmelchuk --profile 可能已被贬低。使用 -p 代替 --profile。只需运行 rspec spec -p 即可列出 10 个最慢的示例。希望对你有帮助 Cucumber 是否也存在这种情况?

以上是关于如何找到需要这么长时间的 rspec 测试的主要内容,如果未能解决你的问题,请参考以下文章

如何设置RSpec以最后测试功能,并且仅在所有其他测试通过时

在大型 Rails 应用程序中加速 RSpec 测试

为啥我的 mysql 简单外连接需要这么长时间?

Rails, Restful Authentication & RSpec - 如何测试需要身份验证的新模型

Selenium等待下载?

为啥在 VCC 2003 中编译需要这么长时间?