मैंने अभी जावा 8 के साथ काम करना शुरू कर दिया है। मुझे बहुत सारी स्ट्रीम और विकल्प मिलते हैं। एक सवाल मेरे दिमाग में popped।जावा में कवरेज रिपोर्ट 8
String name = computer.flatMap(Computer::getSoundcard)
.flatMap(Soundcard::getUSB)
.map(USB::getVersion)
.orElse("UNKNOWN");
या here से लिया अगले एक:
List<String> myList = new ArrayList();
myList
.stream()
.filter(s -> s.startsWith("c"))
.map(String::toUpperCase)
.sorted()
.forEach(System.out::println);
कोई कवरेज समाधान है, जो मुझे बता सकते हैं कि पहली झलकी में orElse
इस्तेमाल किया गया था निम्न उदाहरण this oracle tutorial से लिया पर विचार करें? या कुछ अन्य, जो मुझे बताता है कि filter
बंद नहीं किया गया था, क्योंकि सूची खाली थी? क्या कोई रिपोर्ट हो सकती है कि forEach
में विधि संदर्भ का उपयोग नहीं किया गया था?
अपने परीक्षण के लिए डेटा के उपयोग के किसी भी मूल्य के बिना संयुक्त राष्ट्र वैकल्पिक जोड़ सकते हैं और है कि अज्ञात दिखाई जाँच करें। – JEY
'orElse' आमंत्रण हमेशा होता है और आमंत्रण होने से पहले इसका तर्क हमेशा मूल्यांकन किया जाता है, इसलिए इसके कवरेज को कोई मूल्यांकन की आवश्यकता नहीं होती है। लैम्ब्डा अभिव्यक्तियों के मामले में, वे संकलन के दौरान सिंथेटिक तरीकों से वंचित हैं ताकि प्रत्येक अद्यतित कोड कवरेज भी उनसे निपटने में सक्षम हो। – Holger
आपको गारंटी है कि जब आप अपनी स्ट्रीम पर "टर्मिनल" ऑपरेशन का उपयोग करते हैं तो "पाइपलाइन" में कोई भी ऑपरेशन मारा जाएगा। तो वास्तव में कवरेज की जरूरत नहीं है। – fge