यहाँ एक उदाहरण है: मेरे वेब अनुप्रयोग में ड्रैग करने योग्य तत्व हैं। किसी तत्व को खींचते समय, ब्राउज़र एक "भूत छवि" का उत्पादन करता है। मैं खींचते समय "भूत छवि" को हटाना चाहता हूं और मैं इस व्यवहार के लिए एक परीक्षण लिखता हूं।
मेरी समस्या यह है कि मुझे शुरू में पता नहीं है कि इस बग को कैसे ठीक किया जाए और जिस तरह से मैं एक परीक्षा लिख सकता हूं उसके बाद ही मैंने इसे ठीक किया है।
जैसे एक साधारण फ़ंक्शन में let sum = (a, b) => a - b
, आप किसी भी कोड को लिखने से पहले क्यों sum(1, 2)
नहीं के बराबर एक परीक्षा लिख सकते हैं 3
।
जिस मामले में मैं वर्णन कर रहा हूं, मैं परीक्षण नहीं कर सकता, क्योंकि मुझे नहीं पता कि सत्यापन क्या है (मुझे नहीं पता कि क्या होना चाहिए)।
वर्णित समस्या का हल है:
let dataTransfer = e.dataTransfer
let canvas = document.createElement('canvas');
canvas.style.opacity = '0';
canvas.style.position = 'absolute';
canvas.style.top = '-1000px';
dataTransfer.effectAllowed = 'none';
document.body.appendChild(canvas);
dataTransfer.setDragImage(canvas, 0, 0);
मैं नहीं जान सकता था कि यह समाधान था। मैं ऑनलाइन समाधान खोजने के बाद भी परीक्षण नहीं लिख सकता था, क्योंकि मुझे पता चल सकता है कि एकमात्र तरीका अगर यह वास्तव में काम करता है, तो इस कोड को मेरे कोडबेस में जोड़ना था और यदि वांछित प्रभाव था तो ब्राउज़र से सत्यापित करें। परीक्षण कोड के बाद लिखा जाना था, जो टीडीडी के खिलाफ जाता है।
इस समस्या के लिए TDD दृष्टिकोण क्या होगा? कोड अनिवार्य या वैकल्पिक होने से पहले परीक्षण लिख रहा है?