32

如何找到最慢的 rspec 测试列表?我想重构那些运行得更快。我试图寻找宝石,但找不到任何东西。我在想放点东西

Rspec.before(:each)

Rspec.after(:each)

块来生成这个列表。但我不知道如何访问规范的名称。

4

2 回答 2

72

这实际上是内置在 rspec 命令中的。只需在运行所有 rspec 测试时使用-por标志。--profile

于 2012-06-07T18:11:44.163 回答
14

正如 MrDan 所说, --profile 标志。你也可以在你的项目根目录下制作一个.rspec文件,这样你就可以一直得到时序信息,像这样:

$ cat .rspec 
--colour
--profile
--format nested
--backtrace

您通常还可以通过关闭垃圾收集来加速所有测试,如下所示:

# turn off garbage collection when running tests, place this in spec_helper.rb
RSpec.configure do |config|
  config.before(:all) do
     DeferredGarbageCollection.start
  end

  config.after(:all) do
     DeferredGarbageCollection.reconsider
  end
end
于 2012-06-07T18:17:37.970 回答