Rails: Сравнителен анализ на производителността с помощта на RSPec

Току що попадам на RSpec от rake:test и се боря да намеря някакъв еквивалент на rake test:benchmark и/или rake test:profile.

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

наздраве...


person PlankTon    schedule 25.01.2011    source източник


Отговори (2)


Проектът Diaspora използва интересен подход към тестването на производителността с rspec - тестове, които казват, че "този метод трябва да е бърз / да отнема по-малко от N ms"

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

Различен от типичния подход, но приложим без някакви половинчати rspec добавки

person jamiew    schedule 30.01.2011
comment
връзката е повредена :( Може би същността би могла да бъде по-добър дълготраен отговор - person user80805; 14.11.2011
comment
@user80805 Просто щракнете върху хронологията на ангажиментите и намерете стария код. Това и направих. github.com/diaspora/diaspora/blob/ - person Ryanmt; 29.11.2011
comment
Махнаха го. Чудя се каква е действителната причина. Аз се сещам за някои като - непоследователните резултати между сериите и машините може би нарушават сделката, но има и някои предимства от интегрирането на този вътрешен процес на тестване. - person misza222; 07.04.2015

Има rspec-benchmark ruby ​​gem, който позволява да се тества производителността по чист и четим начин:

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

Можете също така да посочите колко пъти да стартирате кода си, за да измерите ефективността:

expect { ... }.to perform_under(0.01).and_sample(10)
person Hirurg103    schedule 10.03.2017