रूबी दुनिया में, टीडीडी को ढांचे में निर्मित उपकरणों द्वारा सुविधाजनक बनाया गया है। फैक्ट्री गर्ल, मोचा, आरपीएसईसी और अन्य डेवलपर्स डेवलपर्स को आसानी से और गतिशील रूप से परीक्षण बनाने की अनुमति देते हैं जो आवश्यक परीक्षण मामलों को संबोधित करते हैं।
मैं Drupal में TDD टूल्स की कमी के कारण निराश हो गया हूँ। उनके साथ मेरा सबसे बड़ा मुद्दा यह है कि एकल परीक्षण चलाने में जितना समय लगता है। प्रत्येक पुनरावृत्ति 60-90 सेकंड लेने वाले व्यक्तिगत परीक्षणों द्वारा विकास चक्रों को धीमा नहीं किया जा सकता है। यदि आप परीक्षण लिखने में परेशान होते हैं तो पूर्ण परीक्षण सूट कई घंटे की समय सीमा में चलेगा।
मुझे संदेह है कि यह एक पूर्ण db की नकल करने के साथ है जो एक परीक्षण चलाया जाता है, लेकिन जो मैं बता सकता हूं उससे निकट भविष्य में बदलने की संभावना नहीं है, खासकर यदि आपको ऐसा करने के लिए DrupalWebTestCase का उपयोग करने की आवश्यकता है।
मैं एक साथ Phactory और phpunit का उपयोग कर एक समाधान हैक कर रहा हूं , जो मैन्युअल रूप से Drupal बूटस्ट्रैप करता है। जाहिर है कुछ मुद्दों में चल रहा है और इसे समाप्त नहीं किया है, लेकिन यह वहाँ हो रहा है।
सौभाग्य से मेरा ज्यादातर काम बैकेंड लेयर पर है, इसलिए मैं DRUPAL_BOOTSTRAP_DATTASE स्तर पर रह सकता हूं। लेकिन मैं और अधिक स्थितियों में भाग रहा हूं जहां मुझे पूर्ण स्टैक की आवश्यकता होगी।
अंत में, ड्रुपल में टीडीडी का अच्छी तरह से समर्थन नहीं किया गया है, इसलिए आप इसे ड्रुपल टेस्ट फ्रेमवर्क के बाहर काम करने, या खराब प्रदर्शन को सहन करने के लिए अपना स्वयं का लिख सकते हैं।
-- अद्यतन करें --
मैंने Phactory के साथ एक पूर्ण Drupal एकीकरण सफलतापूर्वक सेट किया है, और अब मैं Drupal Web Test Case के बजाय phpunit के माध्यम से अपने परीक्षण चला रहा हूं। तो यह संभव है।
मैं उम्मीद करता हूं कि मैं एक बिंदु पर पहुंचूंगा जहां मैं इसे जारी कर सकता हूं और इसे चरणबद्ध डॉक्टर में शामिल किया जा सकता है।
- अद्यतन 2 -
Doc को कैसे सेटअप किया जाए इस बारे में डॉक्टर https://github.com/trimbletodd/phactory पर हैं ।