2011-01-25 8 views
19

का उपयोग कर प्रदर्शन बेंचमार्किंग मैं बस रेक से परीक्षण में आरएसपीसी में आ रहा हूं: परीक्षण, और मैं रैक टेस्ट के बराबर खोजने के लिए संघर्ष कर रहा हूं: बेंचमार्क और/या रेक परीक्षण: प्रोफ़ाइल।रेल: आरएसपीईसी

तो, अधिकांश आरएसपीसी लोग प्रदर्शन परीक्षण के लिए क्या उपयोग करते हैं? मैंने पाया - प्रोफाइल, जो दस सबसे धीमे परीक्षणों को पीछे छोड़ देता है, लेकिन मैं कुछ और अधिक व्यापक की उम्मीद कर रहा था।

चीयर्स ...

उत्तर

18

डायस्पोरा परियोजना rspec साथ निष्पादन परीक्षण के लिए एक दिलचस्प दृष्टिकोण लिया - परीक्षण का कहना है कि

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

"इस विधि तेजी से होना चाहिए/एन एमएस से भी कम समय"

सामान्य दृष्टिकोण से अलग लेकिन बिना किसी अर्ध-बेक्ड आरएसपीसी प्लगइन्स के कार्यान्वयन योग्य

+0

लिंक :(टूट गया है शायद सार हो सकता है एक बेहतर लंबे समय से स्थायी जवाब – user80805

+2

@ user80805 बस प्रतिबद्ध इतिहास में क्लिक करें और पुराना कोड खोजें। यही मैंने किया था। https://github.com/diaspora/diaspora/blob/a6f8b2c14ed7ec13f2ecd113ae809a072814ab50/spec/controllers/aspects_controller_spec.rb#L92 – Ryanmt

+0

उन्होंने इसे हटा दिया। मुझे आश्चर्य है कि [वास्तविक कारण क्या था] (https://github.com/diaspora/diaspora/commit/33ba00377e395cf06f48b6f8b5e162230191957e#comments)। मैं अपने बारे में कुछ सोच सकता हूं - रन और मशीनों के बीच असंगत परिणाम शायद सौदा ब्रेकर है, लेकिन परीक्षण प्रक्रिया के अंदर इसे एकीकृत करने के कुछ फायदे भी हैं। – misza222

2

rspec-benchmark रूबी मणि है जो स्वच्छ और पठनीय में प्रदर्शन का परीक्षण करने की अनुमति देता है तरीका:

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

तुम भी समय की संख्या निर्दिष्ट कर सकते हैं को मापने के लिए प्रदर्शन अपने कोड को चलाने के लिए:

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