परीक्षण करने के बिना मैं जावा में आउटपुट स्ट्रीम का परीक्षण कर रहा हूं।आउटपुटस्ट्रीम.write (<String>) कोई फ़ाइल बनाने के बिना
Writer outputStream = getOutputStream(fileName);
if(outputStream != null) {
try {
outputStream.write(inputText);
}
finally {
outputStream.close();
}
}
else {
throw new IOException("Output stream is null");
}
मैं
public void testFileWrite() throws IOException {
when(testObj.getOutputStream(outputFileNameValidValue)).thenReturn(outputStreamMock);
doNothing().when(outputStreamMock).write(Matchers.anyString());
doNothing().when(bufferedReaderMock).close();
testObj.write(outputFileNameValidValue, reveredFileInput);
verify(outputStreamMock).write(Matchers.anyString());
verify(outputStreamMock).close();
}
नीचे के रूप में एक mockito परीक्षण लिखने समस्या यह है कि जब आप OutputStreamWriter(new FileOutputStream(filename))
बनाने डिस्क पर एक भौतिक फ़ाइल बनाई गई है हूँ।
क्या हम डिस्क पर फ़ाइल लिखने के बिना Outputstream.write
का परीक्षण कर सकते हैं?
धन्यवाद आनंद
स्पष्ट करें:
मैं तुम्हारे लिए इस कोड को जो पूरी तरह से निहित आत्म है। मुझे लगता है कि यह 'getOutputStream' के भीतर है - सिवाय इसके कि आपने इस विधि को दबा दिया है। यदि आप चाहते हैं कि लोग आपकी मदद करने का अच्छा काम करें तो आपको अपना पूरा कोड पोस्ट करना होगा। साथ ही, 'getOutputStream' को शायद कुछ और कहा जाना चाहिए (शायद' makeWriter'), क्योंकि इसे 'आउटपुटस्ट्रीम' नहीं मिलता है। –
getOutputStream विधि में। कारण यह है कि मैं इसे उम्मीद के साथ विधि में ले गया कि मॉकिटो mthod नहीं चलाएगा और नकली वापस नहीं करेगा। लेकिन मैं गलत हूँ। – Anand
कुछ दस्तावेज़ों को गुगलने और पढ़ने के बाद पता चला कि पावरमैक इसे आसानी से कर सकता है। उम्मीद के साथ नया या suppressConstructor और Whitebox.setInsternalState का उपयोग कर। PowerMock के साथ ऐसी चीजों का परीक्षण करना कहीं आसान है। आपकी टिप्पणियों और उत्तरों के लिए धन्यवाद।सम्मान, आनंद बारहेट – Anand