संक्षिप्त प्रश्न: आप एक ऐसी परियोजना पर परीक्षण-संचालित विकास का पालन कैसे करते हैं जो कई भाषाओं में फैली हुई है?
विशेष रूप से, मैं एक वेब एप्लिकेशन लिख रहा हूं जो जावास्क्रिप्ट और पीएचपी का उपयोग करता है, और मैं टीडीडी सिद्धांतों का पालन करना चाहता हूं, लेकिन मुझे यकीन नहीं है कि उन्हें कैसे एकीकृत किया जाए। क्या मैं JS और PHP वर्गों के लिए अलग-अलग परीक्षण सूट चलाता हूं, और सर्वर प्रतिक्रियाओं का अनुकरण करने के लिए JS सुइट में नकली का उपयोग करता हूं? क्या एक रन में दोनों घटकों के यूनिट परीक्षण की तकनीक है?
टेस्ट-ड्रिवेन डेवलपमेंट का उपयोग करते हुए यह मेरा पहला अनुभव है, इसलिए आप इसे कम चुनौतीपूर्ण बनाने के बारे में कोई भी सलाह साझा कर सकते हैं। मैंने इसे चुनने का कारण यह है कि जैसे ही मैंने एक प्रोटोटाइप पूरा किया, आवश्यकताओं में बदलाव आया, जिससे मुझे अपने डिजाइन को बदलने के लिए मजबूर होना पड़ा। मुझे लगा कि अगर मैं शुरू कर रहा हूँ, तो मैं शुरू से ही निर्मित प्रतिगमन परीक्षण के साथ अधिक एक्सटेंसिबल कोड लिखना चाहूंगा।
मैं SimpleTest में अपने PHP परीक्षण और JsTestDriver में मेरे जावास्क्रिप्ट परीक्षण लिख रहा हूँ। मुझे ऑब्जेक्ट-ओरिएंटेड प्रतिमानों के लिए उपयोग किया जाता है, इसलिए मुझे PHP में कुछ कक्षाएं मिली हैं, और मैं प्रोटोटाइप इनहेरिटेंस का उपयोग करके जावास्क्रिप्ट में कुछ समान कर रहा हूं। मैंने इस किताब को Python में TDD के बारे में और जावास्क्रिप्ट में TDD के बारे में भी पढ़ना शुरू कर दिया है , लेकिन मैंने जो देखा है, उससे ये पूरी तरह से एक एप्लिकेशन का परीक्षण करने का वर्णन नहीं करता है (सेलेनियम या किसी अन्य वेब ड्राइवर की तरह कुछ का उपयोग करने के बाहर) फ्रंट-एंड स्वीकृति परीक्षण करने के लिए। क्या TDD को पूर्ण-स्टैक डेवलपर्स के लिए नहीं काटा गया है?