Tôi đang cố gắng tìm ra cách viết các bài kiểm tra đơn vị cho một ứng dụng máy chủ yêu cầu các ổ cắm trong C#. Tôi cần phải đọc từ một ổ cắm để xử lý yêu cầu. Trong Java, tôi có thể tránh các ổ cắm bằng cách sử dụng các luồng, vì vậy khi viết các bài kiểm tra đơn vị tôi có thể dễ dàng chuyển đổi một chuỗi thành một luồng.Thử nghiệm đơn vị C# bằng cách sử dụng các ổ cắm
// ====== Input ======
InputStream socketInputStream = new InputStream(socket.getInputStream());
// or using string instead like this
InputStream socketInputStream = new ByteArrayInputStream("string".getBytes());
BufferedReader in = new BufferedReader(new InputStreamReader(socketInputStream));
// ====== Output ======
OutputStream socketOutputStream = new OutputStream(socket.getOutputStream());
// I need to write byte[] to the stream
BufferedOutputStream out = new BufferedOutputStream(socketOutputStream);
Tôi chỉ tìm thấy NetworkStream() nhưng cũng yêu cầu ổ cắm.
Làm thế nào tôi có thể đạt được điều này trong C# để tôi có thể tạo Luồng không có ổ cắm? Và làm cách nào tôi có thể viết vào Luồng và đọc lại để xem thông báo có chính xác không?
lẽ [MemoryStream] (http://msdn.microsoft.com/en-us/library/system. io.memorystream.aspx), được hỗ trợ bởi một byte []. Nếu bạn muốn viết một chuỗi và bạn được quyền "mã hóa" mã hóa, bạn có thể sử dụng một cái gì đó như [Encoding.GetBytes] (http://msdn.microsoft.com/en-us/library/ds4kkd55%28v=vs .100% 29.aspx) để chuyển đổi chuỗi thành một byte [] – nkvu
nếu nó được hỗ trợ bởi byte [] làm thế nào tôi có thể sử dụng nó, để đọc từ một ổ cắm? chương trình phải có khả năng nhận luồng bất kể nó được tạo bằng chuỗi hay ổ cắm – dnanon