Ruby on rails 3 查找慢速rspec测试的列表

Ruby on rails 3 查找慢速rspec测试的列表,ruby-on-rails-3,testing,rspec,Ruby On Rails 3,Testing,Rspec,如何找到最慢的rspec测试列表?我想重构它们,让它们运行得更快。我试着找宝石,但找不到。我在考虑放点东西进去 Rspec.before(:each) 及 块来生成此列表。但是我不知道如何访问规范的名称。它实际上内置于rspec命令中。运行所有rspec测试时,只需使用-p或-profile标志。正如丹先生所说,--profile标志。您还可以在项目的根目录中创建一个.rspec文件,以便始终获得计时信息,如下所示: $ cat .rspec --colour --profile --for

如何找到最慢的rspec测试列表?我想重构它们,让它们运行得更快。我试着找宝石,但找不到。我在考虑放点东西进去

Rspec.before(:each)


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

它实际上内置于rspec命令中。运行所有rspec测试时,只需使用
-p
-profile
标志。

正如丹先生所说,--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

谢谢,但是我得到了“未初始化的常量延迟垃圾收集”延迟GC是一个非常有趣的想法@罗布:你觉得这样做有什么缺点吗?不太清楚。我想在完成所有测试之前,您可能会耗尽内存,但我们有99%的覆盖率和5000多个测试,而且我们没有用完。请注意,如果您的规格失败,配置文件将不会打印。
# 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