2012-10-23 30 views
8

मैं सिर्फ एक विरासत रेल ऐप के लिए एक परीक्षण सूट का निर्माण कर रहा हूं। simplecov मणि ऐप के अंधेरे कोनों को खोजने के लिए बहुत अच्छा रहा है, जिसके लिए परीक्षण कवरेज की आवश्यकता है (या जिसे पूरी तरह से अप्रयुक्त किया जा सकता है और निकालने के लिए ठीक है)। मैं simplecov लागू कर रहा हूँ बस test/test_helper.rb के शीर्ष पर निम्न शामिल करके:रेल ईआरबी टेम्पलेट्स के लिए कोड कवरेज का परीक्षण कैसे करें?

require 'simplecov' 
SimpleCov.start('rails') 

समस्या यह है कि यह सब कोड जो टेम्पलेट्स में अंतर्निहित है की जाँच नहीं करता है। वहां सभी प्रकार के जंक हैं, और मुझे यकीन है कि इसमें से बहुत कुछ हटाया जा सकता है, लेकिन अगर कोड-कवरेज टूल मुझे अप्रयुक्त बिट्स पर इंगित कर सकता है तो यह वास्तव में अच्छा होगा।

रूबी 1.9 के Coverage पुस्तकालय के साथ कुछ प्रयोग मुझे ओर जाता है कि यह केवल काम कर सकता है, तो टेम्पलेट्स रूबी कोड, रूबी स्रोत फ़ाइलों में सहेजे गए किसी भी तरह पूर्व संकलित थे विश्वास करने के लिए, और फिर load एड या require घ, eval के साथ सीधे संकलित टेम्पलेट्स लोड करने के बजाय। या, संकलन प्रक्रिया के दौरान प्रत्येक टेम्पलेट की प्रत्येक पंक्ति में लॉगिंग स्टेटमेंट जोड़ने के लिए ईआरबी को हैक करना संभव हो सकता है।

क्या किसी के पास कोई अन्य विचार है कि ईआरबी टेम्पलेट्स के कोड कवरेज को मापने के लिए कैसे? क्या आप पहले से बनाए गए टूल के बारे में जानते हैं जो यह कर सकता है? (या मैं का निर्माण और इसे जारी करने की एक होना होगा?)

उत्तर

8

देखें के कुछ हिस्सों में से प्रत्येक की कवरेज होने उत्पन्न होगा: How do I get coverage for view specs with rspec, rails, and simplecov?

जवाब जा रहा है, आप नहीं कर सकते:

https://github.com/colszowka/simplecov/issues/38

यह महत्वपूर्ण दोष है कि मुझे उम्मीद है कि कोई संबोधित करेगा। एएफआईके रूबी के लिए सरलकोव से बेहतर कुछ भी नहीं है 1.9

+1

ठीक है। धन्यवाद। मैं यह जवाब स्वीकार करूंगा ... लेकिन फिर मैं सोच रहा हूं कि मुझे खुद को इस समस्या का हल करना पड़ सकता है, और यदि मैं करता हूं, तो यह स्वीकार्य उत्तर बन जाएगा। –

-2

कोशिश रेक

आँकड़े यह एक मेज एप्लिकेशन

+0

मैंने कोशिश की। यह काम नहीं लग रहा है। –

+0

आपके रेल संस्करण क्या है .. यह रेल 3.2.3 पर पूरी तरह से ठीक काम कर रहा है ... रेक-टी चलाने का प्रयास करें और इसमें सूचीबद्ध कार्यों के विवरण पढ़ें ... –

+1

मैं नहीं जानना चाहता * कैसे कोड के कई * लाइनें मेरे टेम्पलेट्स में हैं। मैं जानना चाहता हूं कि उन पंक्तियों में से कितने * मेरे परीक्षण सूट * द्वारा निष्पादित किए गए हैं। कृपया सावधानी से प्रश्न पढ़ें। –