2011-12-11 7 views
5

में टेस्टकेस में स्कैला कोड कवरेज को मापें, मैं एक परिस्थिति में हूं, जहां मेरे पास कई स्कैलास्ट लिखित परीक्षण (जुनीट संगत) हैं, और मैं यह मापना चाहता हूं कि परीक्षण चलाने पर मुझे कितना अच्छा कोडcoverेज मिलता है।ग्रहण

मैं सीधे एसबीटी का उपयोग नहीं करना चाहता, लेकिन एक ग्रहण स्काला परियोजना है, जिसमें मेरे पास कई परीक्षण मामले हैं जिन्हें मैं चलाने के लिए चाहता हूं।

मेरे लिए जाने का सबसे अच्छा तरीका क्या होगा?

+1

यदि आप एसबीटी नहीं करते हैं तो आप किस निर्माण उपकरण का उपयोग करते हैं। Maven? क्या आप स्कैला कोड का परीक्षण करना चाहते हैं या आपने केवल स्केल में अपना परीक्षण लिखा है? – Steffen

+0

मैं सामान्य ग्रहण "स्कैला बिल्डर" आदि का उपयोग कर रहा हूं और जब मैं कर रहा हूं तो मैं परियोजनाओं को ग्रहण प्लगइन के रूप में निर्यात कर रहा हूं। मैं स्कैला कोड का परीक्षण करना चाहता हूं, और परीक्षण स्कैला में भी लिखा गया है। – StefanE

उत्तर

3

मैं ग्रहण में कोड कवरेज के लिए EclEmma का उपयोग करता हूं। अद्यतन साइट का उपयोग कर इसे स्थापित करें।

ध्यान दें कि यह स्कैला परिप्रेक्ष्य में दिखाई नहीं देगा, केवल जावा परिप्रेक्ष्य, लेकिन यह ठीक है क्योंकि आप अभी भी अपने स्कैला-आधारित यूनिट परीक्षणों को इस तरह से चला सकते हैं।

जब आप इसे इंस्टॉल करते हैं, तो यह आपके टूलबार में एक नया "रन" बटन जोड़ता है। जब आप इसका उपयोग करते हैं तो आपके द्वारा चुने गए यूनिट परीक्षण चलाते हैं, एक कवरेज रिपोर्ट उत्पन्न करते हैं, और यह दिखाने के लिए आपके कोड को हाइलाइट करते हैं कि क्या कवर किया गया है और इसमें शामिल नहीं है।

मैंने अभी स्कैला इकाई परीक्षणों के साथ एक स्कैला प्रोजेक्ट के साथ इसका परीक्षण किया, और ऐसा लगता है कि यह ठीक काम करता है।

+1

EclEmma प्लगइन अब स्कैला परिप्रेक्ष्य पर दिखाई देता है! – Mark

+0

स्केलटेस्ट –

+0

के लिए काम नहीं कर रहा है, लेकिन यह एक जूनिट धावक –

0

चेक SCCT https://github.com/mtkopone/scct http://mtkopone.github.com/scct/

दुर्भाग्य से, ग्रहण प्लग-इन (अभी तक)

+0

के साथ चलाने के लिए कक्षा को एनोटेट करने की आवश्यकता है, 2012 से कोई कोड धक्का नहीं है (स्कैला 2.10.0-आरसी 3 के लिए समर्थन), 39 खुले टिकट और 3 खींचें 2013 से लंबित अनुरोध! –

0

मैं इस "सादे scalatest वर्गों"

सब ऐसा करना आवश्यक हो जोड़ने के लिए है के लिए स्केला में काम कर रहा है नहीं है इसे जूनिट के रूप में चलाने के लिए अपनी स्केलटेस्ट क्लास की एक टिप्पणी (नीचे एनोटेशन देखें)। यह स्केलेट्स का अपना जूनिट्रुनर का उपयोग करता है।

@RunWith (classOf [JUnitRunner]) वर्ग MyTest StrictLogging {साथ GivenWhenThen साथ matchers साथ FeatureSpec फैली

एक बार आपको लगता है कि किया है, आपको लगता है कि आप अब के रूप में ग्रहण में इस वर्ग चला सकते हैं देखेंगे एक " स्काला जूनिट टेस्ट "। आप "जूनियर टेस्ट" के रूप में भी कवरेज करने में सक्षम होंगे।

आप eclemma प्लगइन स्थापित है, तो आप कवरेज पैनल देखेंगे अपने परीक्षण द्वारा प्रदान की कवरेज के साथ (यदि आप स्वयं अपनी स्केला परिप्रेक्ष्य में जोड़ने के लिए हो सकता है) और आप भी लाल/हरी/पीले मिल जाएगा अपनी कक्षाओं में लाइन कवरेज द्वारा लाइन।

जीवन अच्छा है!

+0

बस कुछ और विवरणों का खुलासा करने के लिए, मैं जूनिट 4.12 का उपयोग कर रहा हूं, स्केलेटेस्ट 2.2.5, एक्लिप्स मार्स –

+0

स्केलटेस्ट जूनिट्रुनर पर अधिक जानकारी: http://www.scalatest.org/user_guide/using_junit_runner –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^