यहां कुछ व्यावहारिक सलाह और लोगों को इसी तरह की स्थिति में किसी भी अनुभव की तलाश है।टीडीडी: "केवल परीक्षण" तरीके
हम अपने सॉफ्टवेयर (काफी बड़े/जटिल अनुप्रयोग) के निर्माण के लिए बीडीडी/टीडीडी सिटल पद्धति का उपयोग करते हैं। अंतिम परिणाम है .. व्यावसायिक आवश्यकताओं से प्राप्त व्यवहार संबंधी विनिर्देश (दी गई/कब/फिर शैली), इकाई परीक्षण जो इन्हें दर्शाते हैं और कोड जो परीक्षण की आवश्यकताओं को दर्शाता है।
हालांकि, हाल ही में हमारे परीक्षण विभाग ने एकीकरण परीक्षण चलाना शुरू कर दिया है, और समझ में है कि वे परीक्षण स्थिति को स्थापित करने और फाड़ने के बजाए (पहले से ही डेटाबेस से निपटने के बजाय) हमारे (पहले से ही गुजरने) व्यवसाय तर्क कोड का उपयोग करना चाहते हैं। वे मुख्य रूप से आवेदन के यूआई के माध्यम से परीक्षण के साथ चिंतित हैं और पूरे दिन wrangling डेटाबेस खर्च नहीं करना चाहते हैं।
समस्या यह है कि कुछ एंटीटी रेपॉजिटरीज़ में डिलीट विधियां नहीं हैं क्योंकि अभी तक इनके लिए कोई व्यावसायिक आवश्यकता नहीं है। कई में पुरालेख/बहाली/बैकअप इत्यादि हैं (और बैकलॉग पर लंबित हटा सकते हैं)।
तो अब हमारे पास एक टेस्ट डिप्टी है। हटाने के लिए आवश्यकता (लेकिन एक जो व्यवसाय प्रयोक्ता कहानियों के साथ संघर्ष करता है)
तो .... मेरा सवाल है ... अगर मैं विशेष रूप से परीक्षण विभाग के लिए विधियों को जोड़ना चाहता हूं ... हैंडलिंग का सबसे अच्छा तरीका क्या नहीं है इन। मैं समझता हूं कि इसे आम तौर पर "टीडीडी यूटोपिया" में बुरी आदत माना जाता है लेकिन वास्तव में, आपने इस तरह के संघर्ष से कैसे निपटाया है?
पहले विचार मैं पड़ा है या तो उपयोग नामकरण रहे हैं ...
void TestOnly_Delete(Guid id){}
... जिम्मेदार बताते हैं ...
[TestOnly]
void Delete(Guid id){}
... या संकलक निर्देशों ...
#if TESTBUILD
void Delete(Guid id){}
#endif
तो कम से कम, डेवलपर्स टेस्टऑनली विधियों को कॉल न करने के लिए जान सकते हैं और अधिकतम पर, परीक्षण विधियों में टेस्ट विधियों को तैनात नहीं किया जाता है।
... या सिर्फ धोखा है और यह कि जिस तरह से ;-)
किसी भी अनुभव या सलाह कृतज्ञता की सराहना की प्रबंधन करने के लिए एक उपयोगकर्ता कहानी जोड़ सकता हूँ?
अग्रिम धन्यवाद।