查找慢速rspec测试列表

Ibr*_*mad 25 testing rspec ruby-on-rails-3

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

Rspec.before(:each)
Run Code Online (Sandbox Code Playgroud)

Rspec.after(:each)
Run Code Online (Sandbox Code Playgroud)

阻止生成此列表.但我不知道如何访问规范的名称.

MrD*_*anA 59

这实际上是建立在rspec命令之上的.只需在运行所有rspec测试时使用-p--profile标记.

  • 请注意,如果您的规格失败,则不会打印配置文件. (8认同)

Rob*_*Rob 12

正如丹先生所说, - 伙伴旗帜.您还可以在项目的根目录中创建.rspec文件,以便始终获得计时信息,如下所示:

$ cat .rspec 
--colour
--profile
--format nested
--backtrace
Run Code Online (Sandbox Code Playgroud)

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

# 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
Run Code Online (Sandbox Code Playgroud)

  • 并不真地。我想在完成所有测试之前您可能会耗尽内存,但我们有 99% 的覆盖率和 5000 多个测试,而且我们不会用完。 (2认同)