私はC#でソケットを必要とするサーバアプリケーションのユニットテストを書く方法を理解しようとしています。私は要求を処理するためにソケットから読み込む必要があります。 Javaでは、ストリームを使用してソケットを避けることができます。ユニットテストを書くときに、文字列をストリームに簡単に変換できます。ソケットを使ったCユニットテスト
// ====== 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);
NetworkStream()が見つかりましたが、ソケットが必要です。
これをC#でどうすればソケットなしでStreamsを作成できますか? そして、ストリームに書き込んでもう一度読むと、メッセージが正しいかどうか確認できますか?
おそらく[のMemoryStream](http://msdn.microsoft.com/en-us/library/system。 io.memorystream.aspx)は、byte []によってサポートされています。文字列を書きたい場合、エンコーディングを "ハードコード"しても問題ありません。[Encoding.GetBytes](http://msdn.microsoft.com/en-us/library/ds4kkd55%28v=vs)のようなものを使用できます。 .100%29.aspx)文字列をbyte []に変換する – nkvu
byte []でサポートされている場合はどうすればそれを使ってソケットから読み込むことができますか?プログラムはストリングまたはソケットによって作成されたものであれ、ストリームを取得することができなければなりません – dnanon