मैं धार्मिक रूप से टीडीडी का पालन करता हूं। मेरी परियोजनाओं में आम तौर पर सार्थक परीक्षण मामलों के साथ 85% या बेहतर परीक्षण कवरेज है।
मैं HBase के साथ बहुत काम करता हूं , और मुख्य ग्राहक इंटरफ़ेस, HTable, नकली करने के लिए एक वास्तविक दर्द है। मेरी इकाई परीक्षणों को लिखने के लिए मुझे 3 या 4 बार अधिक समय लगता है, यह उन परीक्षणों को लिखने के लिए करता है जो एक लाइव समापन बिंदु का उपयोग करते हैं।
मुझे पता है कि, दार्शनिक रूप से, मॉक का उपयोग करने वाले परीक्षणों को उन परीक्षणों पर प्राथमिकता देनी चाहिए जो एक लाइव एंडपॉइंट का उपयोग करते हैं। लेकिन HTable का मजाक उड़ाना एक गंभीर दर्द है, और मुझे यकीन नहीं है कि यह लाइव HBase उदाहरण के खिलाफ परीक्षण पर एक लाभ प्रदान करता है।
मेरी टीम में हर कोई अपने कार्य केंद्र पर एक एकल नोड HBase उदाहरण चलाता है, और हमारे पास हमारे जेनकींस बक्से पर चलने वाले एकल नोड HBase उदाहरण हैं, इसलिए यह उपलब्धता का मुद्दा नहीं है। लाइव एंडपॉइंट परीक्षण स्पष्ट रूप से उन परीक्षणों की तुलना में अधिक समय तक चलते हैं जो मॉक का उपयोग करते हैं, लेकिन हम वास्तव में इस बारे में परवाह नहीं करते हैं।
अभी, मैं अपने सभी वर्गों के लिए लाइव एंडपॉइंट परीक्षण और मॉक-आधारित परीक्षण लिखता हूं। मैं मोज़े को खोदना पसंद करूंगा, लेकिन मैं गुणवत्ता को परिणाम के रूप में अस्वीकार नहीं करना चाहता।
आप सब क्या सोचते हैं?