আমি আপনার প্রশ্নটিকে "ফাইল সিস্টেমের ক্রিয়াকলাপের উপর নির্ভর করে এমন একটি শ্রেণীর পরীক্ষা করার ভাল / গ্রহণযোগ্য উপায়" হিসাবে বুঝতে পারি। আমি অনুমান করি না যে আপনি নিজের ওএসের ফাইল সিস্টেম পরীক্ষা করতে চান।
@ আপনার ফাইল সিস্টেমের ক্রিয়াকলাপগুলিতে ইন্টারফেসগুলি রাখার প্রচেষ্টা চালিয়ে যাওয়ার জন্য এবং "এগুলি উপহাস" হিসাবে @ ডক ব্রাউন উত্তর যতটা ছোট প্রস্তাবিত হয়েছে জাভা বাইনারি স্ট্রিম বা পাঠ্য পাঠক (অথবা সি # বা তার সমতুল্য) ব্যবহার করা ভাল ধারণা আপনি যে প্রোগ্রামিং ল্যাঙ্গুয়েজটি ব্যবহার করছেন তা পরিবর্তে ফাইল ফাইলের নাম সহ ফাইলগুলি আপনার টিডিডি-ডেভেলপড ক্লাসে ব্যবহার করার পরিবর্তে ।
উদাহরণ:
জাভা ব্যবহার করে আমি 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 ফাইল সিস্টেমের উপর নির্ভর করে না তবে একটি বিমূর্ত "রিডার" এর উপর নির্ভর করে যেখানে ফাইল সিস্টেমের প্রয়োগ রয়েছে।