में यूनिट परीक्षण के लिए संसाधन फ़ाइल समेत मेरे पास कुछ फ़ंक्शन हैं जो & फ़ाइलों को संशोधित करते हैं। यूनिट परीक्षण किसी भी फाइल सिस्टम के मुद्दों से स्वतंत्र बनाने के लिए, मैं परियोजना के अंदर फाइलों को शामिल करना चाहता हूं।सी # प्रोजेक्ट
हालांकि, मेरे फ़ंक्शन को फ़ाइलपैथ मिलना चाहिए, और जो भी मैं असेंबली से प्राप्त कर सकता हूं वह एक फ़ाइलस्ट्रीम है। कोई विचार है कि मैं प्रोजेक्ट में संसाधन फ़ाइल का फ़ाइल पथ कैसे प्राप्त कर सकता हूं?
System.Reflection.Assembly a = System.Reflection.Assembly.Load(assemblyName);
FileStream stream = a.GetFile(assemblyName + "." + fileName);
धन्यवाद!
IMHO इस तरह के परीक्षण डेटा कभी नहीं परीक्षण में बनाया जाना चाहिए और अलग से आपूर्ति की जानी चाहिए (जो भी आप पुनर्निर्माण के बिना अलग डेटा के साथ परीक्षण को फिर से चलाएं की सुविधा देता है)। आप किस तरह के फाइल सिस्टम मुद्दों के बारे में चिंतित हैं? –
मुझे बाहरी संसाधनों पर निर्भर होने वाले यूनिट परीक्षण पसंद नहीं हैं, जिन्हें बदला जा सकता है, स्थानांतरित किया जा सकता है, बदला जा सकता है, और आगे भी। यह इकाई परीक्षण 1 परिदृश्य की जांच के लिए किया जाता है, और मैं चाहता हूं कि सटीक परिदृश्य का परीक्षण किया जाए, इसलिए यह फ़ाइल अनुमतियों को बदलने के तथ्य से स्वतंत्र होना चाहिए, बहुत से फ़ाइल हैंडलर खुले हैं, एनटीएफएस डिस्क अनुपलब्ध है, और बहुत आगे .. – Yossale
मुझे लगता है कि यह एक बहुत अच्छा सवाल है। वास्तविक यूनिट परीक्षणों के लिए मैं मानता हूं कि फ़ाइल डेटा का उपयोग करना टालना चाहिए, लेकिन यदि आप 'वास्तविक' परीक्षण डेटा का उपयोग करके एकीकरण परीक्षण (उदा। मैं वर्तमान में एक फाइल रीडर लिख रहा हूं) के बारे में सोचता हूं तो मुझे समझ में आता है। – anhoppe