Rails: тестирование производительности с использованием RSPec - PullRequest
20 голосов
/ 25 января 2011

Я просто сталкиваюсь с RSpec из rake: test, и я изо всех сил пытаюсь найти какой-либо эквивалент теста rake: тест производительности и / или тест rake: профиль.

Итак, что большинство людей rspec используют для тестирования производительности? Я нашел --profile, который показывает десять самых медленных тестов, но я надеялся на что-то более всеобъемлющее.

Приветствия ...

Ответы [ 2 ]

18 голосов
/ 30 января 2011

В проекте Diaspora использовался интересный подход к тестированию производительности с помощью rspec - тесты, которые говорят, что «этот метод должен быть быстрым / занимать менее N мс»

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

Отличается от обычного подхода, но может быть реализован без каких-либо полусгоревших плагинов rspec

3 голосов
/ 10 марта 2017

Существует rspec-benchmark ruby ​​gem, который позволяет тестировать производительность в чистом и удобочитаемом виде:

expect { ... }.to perform_under(0.01).sec

Вы также можете указать, сколько раз запускать ваш код для измерения производительности:

expect { ... }.to perform_under(0.01).and_sample(10)
...