मैं परीक्षण-संचालित विकास के साथ प्रयोग कर रहा हूं, और मैंने पाया कि मैं अक्सर निम्नलिखित स्थिति में आता हूं:
- मैं कुछ कार्यक्षमता X के लिए परीक्षण लिखता हूं। वे परीक्षण विफल हो जाते हैं।
- एक्स को लागू करने की कोशिश करते समय, मैं देखता हूं कि मुझे अपने कोड की निचली परत में कुछ सुविधा वाई को लागू करने की आवश्यकता है। इसलिए...
- मैं Y के लिए परीक्षण लिखता हूं। अब X और Y के लिए दोनों परीक्षण विफल हो जाते हैं।
एक बार जब मैं एक ही समय में काम कर रहा था, तो कोड की विभिन्न परतों में 4 विशेषताएं थीं, और मैं अपना ध्यान इस पर खो रहा था कि मैं वास्तव में क्या कर रहा हूं (एक ही समय में कई परीक्षण विफल हो रहे हैं)।
मुझे लगता है कि मैं परीक्षण लिखने शुरू करने से पहले ही अपने कार्यों की योजना बनाने में अधिक प्रयास करके इसे हल कर सकता हूं। लेकिन कुछ मामलों में मुझे नहीं पता था कि मुझे गहराई तक जाने की आवश्यकता होगी, क्योंकि उदाहरण के लिए मुझे निचली परत के एपीआई को अच्छी तरह से नहीं पता था।
ऐसे मामलों में मुझे क्या करना चाहिए? क्या TDD की कोई सिफारिश है?