Подтвердить что ты не робот

Rails: сравнительный анализ производительности с использованием RSPec

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

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

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

4b9b3361

Ответ 1

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

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

В отличие от типичного подхода, но реализуемого без каких-либо полупеченных плагинов rspec

Ответ 2

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

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

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

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