मैं विशिष्ट रूपरेखाओं के बारे में निश्चित नहीं हूं, लेकिन OOP के संदर्भ में एक सामान्य दृष्टिकोण किसी भी फ़ाइल एक्सेस कोड (इंटरफेस गेलर!) के शीर्ष पर कुछ अमूर्त परतों को लिखना होगा और शायद आम ऑपरेशन के उपयोग को आसान बनाने के लिए एक मुखौटा। फिर आप अभी जिस कोड का परीक्षण कर रहे हैं, उसके नीचे सिर्फ एक परत का मज़ाक उड़ाएँ और यह अनिवार्य रूप से एक नकली फ़ाइल सिस्टम (या कम से कम आपके द्वारा परीक्षण किया गया कोड अन्यथा पता नहीं होगा)।
यदि आप इसे संभालने के लिए एक निर्भरता इंजेक्शन ढांचे का उपयोग करते हैं, तो यह एक इंटरफ़ेस के फेक कार्यान्वयन के लिए घटकों को स्विच करने की क्षमता को कम करेगा। यदि आप नियंत्रण के व्युत्क्रम के पैटर्न का पालन करते हैं, तो जिस कक्षा में आप यह परीक्षण कर रहे हैं, उसके निर्माणकर्ता में किसी भी निर्भरता से गुजरना आसान परीक्षण भी कर देगा।
public interface IFileSystem {
IFileHandle Load(string path);
}
public class ClassBeingTested {
public ClassBeingTested(IFileSystem fileSystem) {
}
public void DoSomethingWithFileSystem() {
}
}
मुझे आशा है कि मेरा जावा सही है, मैंने लंबे समय में जावा नहीं लिखा है, लेकिन आपको उम्मीद है कि बहाव होगा। उम्मीद है कि मैं इस मुद्दे को कम करके आंका नहीं जा रहा और अत्यधिक सरलीकृत रहा!
बेशक यह सब आपको सही इकाई परीक्षण का मतलब मान रहा है, यानी, कोड की सबसे छोटी संभव इकाइयों का परीक्षण करना, न कि पूरी प्रणाली। एकीकरण परीक्षण के लिए एक अलग दृष्टिकोण की आवश्यकता है।