क्या यूनियन का परीक्षण करना संभव है। सॉकेट प्रोग्रामिंग (सी # का उपयोग कर)? कुछ नमूना इकाई परीक्षण कोड प्रदान करें।सी # असिन। सॉकेट प्रोग्रामिंग
5
A
उत्तर
4
मुझे लगता है कि आप अपने स्वयं के कुछ वर्ग का परीक्षण कर रहे हैं जो .NET धाराओं का उपयोग करता है; आइए इसे MessageSender
पर कॉल करें। ध्यान दें कि .NET स्ट्रीम स्वयं इकाई का परीक्षण करने का कोई कारण नहीं है, यह माइक्रोसॉफ्ट का काम है। आपको इकाई परीक्षण नहीं करना चाहिए .NET फ्रेमवर्क कोड, बस अपना खुद का।
सबसे पहले, सुनिश्चित करें कि MessageSender
द्वारा उपयोग की जाने वाली धारा को इंजेक्ट करें। इसे कक्षा के अंदर न बनाएं बल्कि इसे संपत्ति मूल्य या कन्स्ट्रक्टर तर्क के रूप में स्वीकार करें। उदाहरण के लिए:
public sealed class MessageSender
{
private readonly Stream stream;
public MessageSender(Stream stream)
{
if (stream == null)
throw new ArgumentNullException("stream");
this.stream = stream;
}
public IAsyncResult BeginSendHello(AsyncCallback callback, object state)
{
byte[] message = new byte[] {0x01, 0x02, 0x03};
return this.stream.BeginWrite(
message, 0, message.Length, callback, state);
}
public void EndSendHello(IAsyncResult asyncResult)
{
this.stream.EndWrite(asyncResult);
}
}
अब एक उदाहरण टेस्ट: आप परीक्षण कर सकता है कि BeginSendHello
धारा पर BeginWrite
invokes, और सही बाइट्स भेजता है। हम स्ट्रीम का मज़ाक उड़ाएंगे और इसे सत्यापित करने की उम्मीद स्थापित करेंगे। मैं इस उदाहरण में RhinoMocks ढांचे का उपयोग कर रहा हूं।
[Test]
public void BeginSendHelloInvokesBeginWriteWithCorrectBytes()
{
var mocks = new MockRepository();
var stream = mocks.StrictMock<Stream>();
Expect.Call(stream.BeginWrite(
new byte[] {0x01, 0x02, 0x03}, 0, 3, null, null));
mocks.ReplayAll();
var messageSender = new MessageSender(stream);
messageSender.BeginSendHello(null, null);
mocks.VerifyAll();
}
संबंधित मुद्दे
- 1. सी, सॉकेट प्रोग्रामिंग: चुनिंदा()
- 2. सॉकेट प्रोग्रामिंग
- 3. सॉकेट प्रोग्रामिंग?
- 4. .net/C# सॉकेट प्रोग्रामिंग
- 5. कर्नेल सॉकेट प्रोग्रामिंग
- 6. PHP सॉकेट प्रोग्रामिंग
- 7. फाइल सॉकेट प्रोग्रामिंग
- 8. सॉकेट प्रोग्रामिंग पायथन
- 9. सॉकेट प्रोग्रामिंग सी/सी ++ - आरईवी समारोह लटकता है?
- 10. सॉकेट प्रोग्रामिंग: recv/पढ़ मुद्दा
- 11. javafx, सॉकेट प्रोग्रामिंग, और धागे
- 12. सॉकेट प्रोग्रामिंग बनाम वेब सेवा?
- 13. जावा नेटवर्क/सॉकेट प्रोग्रामिंग ट्यूटोरियल
- 14. यूनिक्स/लिनक्स सॉकेट प्रोग्रामिंग पर अच्छी रीडिंग्स?
- 15. सी में सॉकेट प्रोग्रामिंग में कतार लंबाई() क्यू लंबाई?
- 16. सी # में सॉकेट प्रोग्रामिंग के साथ शुरू करना - सर्वोत्तम प्रथाओं
- 17. सॉकेट प्रोग्रामिंग एकाधिक क्लाइंट एक सर्वर
- 18. पर्ल निरंतर लिखने के बाद सॉकेट प्रोग्रामिंग समस्याओं सॉकेट से
- 19. सॉकेट प्रोग्रामिंग और एचटीपी प्रोग्रामिंग के बीच अंतर
- 20. सी सॉकेट
- 21. सी ++ वितरित प्रोग्रामिंग
- 22. सी/सी ++ सॉकेट
- 23. सॉकेट प्रोग्रामिंग पर एपीएम, ईएपी और टीपीएल
- 24. सी # प्रोग्रामिंग
- 25. विभिन्न प्रोग्रामिंग भाषाओं में संचारित सॉकेट संचार कर सकते हैं?
- 26. सी ++ सॉकेट 256 बाइट बफर
- 27. सी/पायथन सॉकेट प्रदर्शन?
- 28. एक सॉकेट (लिनक्स, सी)
- 29. सी # udp सॉकेट अपवाद
- 30. उसी पोर्ट सॉकेट सी ++