टिप्पणियों में से एक में उल्लेख किया है (मैंने पहले आधारित जावा के लिए jacoco प्रयुक्त), istanbul वास्तव में एक अच्छा, बहुत सामान्य, कवरेज उपकरण है। यह नोड प्रक्रिया और आपकी स्क्रिप्ट के बीच एक मध्य व्यक्ति के रूप में कार्य करता है, इसलिए जब तक आप नोड रनटाइम में कुछ निष्पादित कर रहे हों, तो आपको वह करना चाहिए जो आप चाहते हैं। मुझे यकीन है कि कैसे आप अपने सेलेनियम परीक्षण चल रहे हैं नहीं कर रहा हूँ, लेकिन मैं इतना है कि यह माध्यम से मोचा चलाएँ:
node ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- test/*-test.js
#or simply:
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- test/*-test.js
हालांकि मोचा सामान्य रूप से अपने स्वयं के "आदेश" के रूप में चलाया जाता है इस्तांबुल में, यह हो सकता है "खिलाया" और कवरेज इस तरह से मुद्रित किया जाता है। तो आपके मामले में, जो भी आदेश आप नोड/सेलेनियम में फ्रंटेंड परीक्षण चलाने के लिए उपयोग करते हैं, वह इस्तानबुल में चलाया जा सकता है। जैसा कि मैंने कहा, यह एक बहुत ही सामान्य प्रक्रिया है जिसे node.js. के भीतर चलने वाली किसी भी चीज़ पर लागू किया जा सकता है।
अब मुझे सेलेनियम के साथ अनुभव पर कोई हाथ नहीं है लेकिन मुझे पता है कि यह Rube Goldberg system है जो कई इंटरकनेक्टेड प्रक्रियाओं (कुछ संभावित रूप से विभिन्न मशीनों पर) के साथ है। यदि आप एक पंक्ति में फ्रंट एंड, बैकएंड, और टेस्ट कोड (या ब्राउज़र में चल रहे फ्रंटेंड कोड, बैकएंड कोड से परोसा जाता है) को कैप्चर करने के लिए कुछ ढूंढ रहे हैं, तो मुझे यकीन नहीं है कि मौजूद है ("नोडजेस में लिखा गया फ्रंटेंड एप्लिकेशन" क्या मुझे इसमें शामिल किया गया है)।
मैं इस प्रश्न के लिए बक्षीस बढ़ाने के लिए तैयार हूं। मैं उसे कैसे कर सकता हूँ? – footy
क्या आपने [इस्तांबुल] (https://github.com/gotwarlost/istanbul) की कोशिश की है? यह आपको लाइन कवरेज, शाखा कवरेज इत्यादि देगा – GilZ
हाँ मैंने यूनिट परीक्षणों की कोशिश की है लेकिन सेलेनियम परीक्षणों के लिए नहीं। मैं – footy