पर जो लिखा गया है उसका परीक्षण करना मैं एक XML पार्सिंग जावा क्लास के लिए जूनिट परीक्षण लिखने वाला हूं जो सीधे आउटपुटस्ट्रीम पर आउटपुट करता है। उदाहरण के लिए xmlWriter.writeString("foo");
XmlWriter उदाहरण के अंदर आउटपुटस्ट्रीम में लिखे जाने के लिए <aTag>foo</aTag>
जैसे कुछ उत्पन्न करेगा। प्रश्न यह है कि इस व्यवहार का परीक्षण कैसे करें। एक समाधान निश्चित रूप से आउटपुटस्ट्रीम को फ़ाइलऑटपुटस्ट्रीम होने देना होगा और फिर लिखित फ़ाइल खोलकर परिणाम पढ़ना होगा, लेकिन यह बहुत ही सुरुचिपूर्ण नहीं है।जावा आउटपुटस्ट्रीम
21
A
उत्तर
23
ByteArrayOutputStream का उपयोग करें और फिर उस डेटा को toByteArray() का उपयोग करके प्राप्त करें। यह का परीक्षण नहीं करेगा यह धारा (एक समय में एक बाइट या एक बड़े बफर के रूप में) लिखता है लेकिन आम तौर पर आपको इसके बारे में परवाह नहीं करना चाहिए।
3
यदि आप एक लेखक को XmlWriter पास कर सकते हैं, तो मैं इसे StringWriter
पास कर दूंगा। आप toString()
का उपयोग कर StringWriter
की सामग्री से पूछ सकते हैं।
यदि आपको OutputStream
पास करना है, तो आप ByteArrayOutputStream
पास कर सकते हैं और आप स्ट्रिंग के रूप में अपनी सामग्री प्राप्त करने के लिए toString()
पर भी कॉल कर सकते हैं।
तो फिर तुम कुछ कोड कर सकते हैं जैसे:
public void testSomething()
{
Writer sw = new StringWriter();
XmlWriter xw = new XmlWriter(sw);
...
xw.writeString("foo");
...
assertEquals("...<aTag>foo</aTag>...", sw.toString());
}
2
यह आसान है। @ जोन्स स्केट ने कहा:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// pass the baos to be writed with "value", for this example
byte[] byteArray = baos.toByteArray();
Assert.assertEquals("value", new String(byteArray));
संबंधित मुद्दे
- 1. जावा आउटपुटस्ट्रीम छोड़ें (ऑफसेट)
- 2. जावा सॉकेट: डेटाऑटपुटस्ट्रीम या आउटपुटस्ट्रीम?
- 3. मौजूदा आउटपुटस्ट्रीम
- 4. क्या जावा में कोई नल आउटपुटस्ट्रीम है?
- 5. जावा अवरुद्ध में आउटपुटस्ट्रीम है? (सॉकेट)
- 6. ऑब्जेक्ट आउटपुटस्ट्रीम
- 7. बाइट [] से इनपुटस्ट्रीम या आउटपुटस्ट्रीम
- 8. स्ट्रिंग में आउटपुटस्ट्रीम प्राप्त करें
- 9. एक मानक आउटपुटस्ट्रीम
- 10. लेखक या आउटपुटस्ट्रीम?
- 11. स्ट्रिंग्स को आउटपुटस्ट्रीम
- 12. जावा में आउटपुटस्ट्रीम में स्ट्रीमवाइटर को कनवर्ट करें?
- 13. जावा में आउटपुटस्ट्रीम को बंद करने का सही तरीका?
- 14. क्या इनपुट/आउटपुटस्ट्रीम विनाश पर बंद है?
- 15. wkhtmltopdf आउटपुटस्ट्रीम और डाउनलोड - डायग्लॉग
- 16. पीडीएफ आउटपुटस्ट्रीम में जैस्पर रिपोर्ट निर्यात करें?
- 17. क्या मुझे सर्वलेट आउटपुटस्ट्रीम बंद करना चाहिए?
- 18. आउटपुटस्ट्रीम से डेटा को बाइटबफर में कैसे रखा जाए?
- 19. जावा
- 20. क्या जावा इनपुटस्ट्रीम और आउटपुटस्ट्रीम के लिए सी # समकक्ष तरीका है?
- 21. आप स्ट्रीमिंगडेटा हैंडलर को आउटपुटस्ट्रीम कैसे पाइप कर सकते हैं?
- 22. आउटपुटस्ट्रीम की फ्लश विधि कुछ भी नहीं करती है?
- 23. आउटपुटस्ट्रीम और आउटपुटवाइटर के बीच क्या अंतर है?
- 24. एक बाइटबफर की सामग्री को आउटपुटस्ट्रीम में कैसे रखा जाए?
- 25. एंड्रॉइड ब्लूटूथ सॉकेट आउटपुटस्ट्रीम ब्लॉक असीमित रूप से
- 26. मैं डिफ़ॉल्टHttpClient का उपयोग कर आउटपुटस्ट्रीम को कैसे लिखूं?
- 27. इनपुट इनपुट/आउटपुटस्ट्रीम और बंद सॉकेट को बंद करने के बीच क्या अंतर है?
- 28. जावा में इनपुट और आउटपुट स्ट्रीम पाइप
- 29. जावा: System.setOut
- 30. जावा एप्लिकेशन