ऐसा लगता है कि आपके पास व्यवसाय नियम हैं, और फिर आपके पास उन व्यवसाय नियमों के ग्राहक हैं। यदि वे दोनों स्वतंत्र रूप से भिन्न हो सकते हैं, तो तदनुसार अपने एपीआई को डिजाइन करना बुद्धिमान होगा।
जैसा कि प्रस्तुत किया गया है, आपका प्रश्न लगता है जैसे इसे रणनीति पैटर्न के उचित उपयोग के साथ हल किया जा सकता है।रणनीति आपके व्यापार नियमों का प्रतिनिधित्व करती है, ताकि आप क्लाइंट के बारे में चिंता किए बिना यूनिट को शुद्ध संदर्भ में जांच सकें।
जब व्यवसाय नियम बदलता है, तो पुरानी रणनीति को छोड़ने के लिए और अधिक समझदारी हो सकती है (यदि आपको बाद में इसे फिर से चाहिए), और (और यूनिट टेस्ट) एक पूरी तरह से नई रणनीति लिखें जो नए व्यवसाय का प्रतिनिधित्व करती है राज करते हैं।
जब आप नई रणनीति के साथ पूरी तरह से कर रहे हैं, तो आप ग्राहक में रणनीति को प्रतिस्थापित कर सकते हैं।
जब इकाई क्लाइंट का परीक्षण करती है, तो आपको किसी टेस्ट डबल स्ट्रैटेजी (जैसे मॉक या स्टब) के खिलाफ ऐसा करना चाहिए ताकि यह सत्यापित किया जा सके कि ग्राहक किसी विशेष रणनीति कार्यान्वयन पर निर्भर किए बिना रणनीति के साथ सही तरीके से इंटरैक्ट करता है।
इस तरह, आपको चिंताओं का साफ अलगाव मिलता है और आप अपने यूनिट परीक्षणों को बनाए रखने योग्य रखते हैं। आप ओपन/क्लोज़ड सिद्धांत का भी पालन करते हैं।
स्रोत
2009-06-20 20:26:41
जब आप नियम बदलते हैं, तो आप अपेक्षित परिणाम बदलते हैं। इसका मतलब है कि कुछ सकारात्मक यूनिट परीक्षण जो अब पास होने के लिए उपयोग किए जाते थे, और कुछ नकारात्मक परीक्षण जो पास करते थे (त्रुटि का पता लगाकर) विफल हो सकते हैं (हालांकि यह आमतौर पर कम आम है)। यूनिट परीक्षण केवल मौजूदा नियमों को मान्य कर सकते हैं - वे नियमों में बदलाव से पहले नियमों में सभी परिवर्तनों को मान्य नहीं कर सकते हैं। जब नियम बदलते हैं, तो यूनिट परीक्षण भी हो सकते हैं। –