मैं एक नया एप्लीकेशन बना रहा हूं और "परीक्षण-प्रथम" विकास का पालन करने की कोशिश कर रहा हूं जैसा कि मैं कर सकता हूं। मैं खुद को ऐसी स्थितियों में ढूंढ रहा हूं जहां मुझे ऐसी सुविधा को लागू/बदलने की आवश्यकता है जिसका मौजूदा यूनिट परीक्षणों को अमान्य करने का असर हो। मुझे इससे कैसे निपटना चाहिए? मैं इसे देखना, वहाँ 3 विकल्प हैं:क्या करें जब कोई नई सुविधा मौजूदा यूनिट परीक्षणों को अमान्य बनने का कारण बनती है?
अद्यतन या नई सुविधा की आवश्यकताओं को पूरा करने के लिए (किसी भी अधिक के रूप में आवश्यक जोड़ने) सभी मौजूदा परीक्षण निकालें, तब सुविधा को लागू
लागू सुविधा पहले, विफलताओं को देखने के लिए परीक्षण चलाने, और अद्यतन या (किसी भी अधिक के रूप में आवश्यक जोड़ने) किसी भी विफल रहा है परीक्षण को दूर
नई सुविधा के लिए नए परीक्षण जोड़ें, सुविधा को लागू, सभी परीक्षणों चलाने पर पुराने को देखने के लिए es, असफल आवश्यक
पहला विकल्प TDD का पालन करता है के रूप में हटाने या अद्यतन पुराने परीक्षण, लेकिन पीड़ा प्रतिकूल हो सकता है। दूसरा विकल्प सबसे आसान है, लेकिन आप पहले ईमानदारी से परीक्षण नहीं करेंगे और ठीक से "कवर" नहीं हो सकते हैं। तीसरा विकल्प दोनों डिग्री और एक डिग्री के लिए आकर्षक है, लेकिन आप एक परीक्षण को दोबारा लिखने का जोखिम चलाते हैं जब आप बस एक पुराना अपडेट कर सकते थे।
मुझे नहीं लगता कि मेरे पास यहां कोई स्पष्ट रणनीति है। इन परिस्थितियों में आप क्या करते हैं?
यह वही है जो मैं करता हूं जब मैं परीक्षण करता हूं कि आखिरकार कचरे में आया था: http://www.youtube.com/watch?v=tgBI3-q5COM – Will
यह अजीब लगता है कि एक बदलाव (सही ढंग से) कई यूनिट परीक्षण तोड़ सकता है। एक या दो शायद, लेकिन कई? क्या यह संभव है कि आपकी इकाई परीक्षण बहुत अधिक ओवरलैप हो? – Beta
@ बीटा, कहें कि आप एक आवश्यकता जोड़ते हैं कि कार्यान्वयन के लिए अब एक अतिरिक्त आश्रित वर्ग की आवश्यकता है। अब आपके अन्य परीक्षण आश्रित वस्तु का नकली कार्यान्वयन प्रदान नहीं करते हैं, इसलिए जब वे आपको शून्य संदर्भ अपवादों का एक गुच्छा प्राप्त करते हैं। इसके बाद आपको वापस जाने और अपने सेट अप कोड को ठीक करने की आवश्यकता होगी ताकि वे पास हो जाएंगे। – tvanfosson