मैं आपके प्रश्न को "क्लास सिस्टम का परीक्षण करने के लिए एक अच्छा / स्वीकृत तरीका मानता हूं जो फ़ाइल सिस्टम ऑपरेशन पर निर्भर करता है"। मैं यह नहीं मानता कि आप अपने ओएस की फाइलसिस्टम का परीक्षण करना चाहते हैं।
अपने फाइलसिस्टम के संचालन के लिए इंटरफेस और उन्हें "मॉक आउट" करने के प्रयास को जारी रखने के लिए @ डॉक ब्राउन के उत्तर के रूप में संभव के रूप में छोटे रूप में सुझाव दिया गया कि जावा बाइनरी स्ट्रीम या टेक्स्ट रीडर (या c # में समतुल्य) का उपयोग करना एक अच्छा विचार है। आप जिस भाषा का उपयोग कर रहे हैं, उसकी प्रोग्रामिंग भाषा) फाइल के साथ फाइल का उपयोग करने के बजाय सीधे आप में tdd- विकसित वर्ग।
उदाहरण:
जावा का उपयोग करके मैंने एक वर्ग CsvReader लागू किया है
public class CsvReader {
private Reader reader;
public CsvReader(Reader reader) {
this.reader = reader;
}
}
परीक्षण के लिए मैंने इस तरह से मेमोरी डेटा का उपयोग किया
String contentOfCsv = "TestColumn1;TestColumn2\n"+
"value1;value2\n";
CsvReader sut = new CsvReader(java.io.StringReader(contentOfCsv));
या संसाधनों में टेस्टडेटा को लागू करना
CsvReader sut = new CsvReader(getClass().getResourceAsStream("/data.csv"));
उत्पादन में मैं फ़ाइल सिस्टम का उपयोग करता हूं
CsvReader sut = new CsvReader(new BufferedReader( new FileReader( "/import/Prices.csv" ) ));
इस तरह मेरा CsvReader फाइलसिस्टम पर निर्भर नहीं करता है, लेकिन एब्सट्रैक्शन "रीडर" पर है जहां फाइलसिस्टम के लिए कार्यान्वयन है।