Rails:使用RSPec进行性能基准测试

Pla*_*Ton 20 performance benchmarking rspec ruby-on-rails

我只是从rake:test来到RSpec,我很难找到任何等同于rake测试:基准和/或rake测试:profile.

那么,大多数rspec人员用于性能测试的是什么?我发现了--profile,它吐了十个最慢的测试,但我希望能有一些更全面的东西.

干杯...

jam*_*iew 18

Diaspora项目采用了一种有趣的方法来进行性能测试,使用rspec - 测试说"这种方法应该快/小于N ms"

https://github.com/diaspora/diaspora/blob/a6f8b2c14ed7ec13f2ecd113ae809a072814ab50/spec/controllers/aspects_controller_spec.rb#L92

不同于典型的方法,但没有任何半生不熟的rspec插件可实现

  • @ user80805只需单击提交历史记录并找到旧代码即可.这就是我做的.https://github.com/diaspora/diaspora/blob/a6f8b2c14ed7ec13f2ecd113ae809a072814ab50/spec/controllers/aspects_controller_spec.rb#L92 (2认同)

Hir*_*103 5

rspec-benchmark ruby​​ gem允许以干净且可读的方式测试性能:

expect { ... }.to perform_under(0.01).sec
Run Code Online (Sandbox Code Playgroud)

您还可以指定运行代码的次数来衡量性能:

expect { ... }.to perform_under(0.01).and_sample(10)
Run Code Online (Sandbox Code Playgroud)