単体テストの簡略化: 文字列を使用したストリームの作成
テキスト ファイル ストリームを処理する単体テストの方法は難しい場合があります。このプロセスを簡素化するには、GenerateStreamFromString
メソッドを使用できます。
<code class="language-csharp">public static Stream GenerateStreamFromString(string s) { var stream = new MemoryStream(); var writer = new StreamWriter(stream); writer.Write(s); writer.Flush(); stream.Position = 0; return stream; }</code>
使用例:
<code class="language-csharp">Stream s = GenerateStreamFromString("a,b \n c,d");</code>
ストリームを使用して破棄する
ストリームが正しく解放されるようにするには、必ず using
ステートメントを使用してください。
<code class="language-csharp">using (var stream = GenerateStreamFromString("a,b \n c,d")) { // ... 对流进行操作 }</code>
StreamWriter とリリース リソース
StreamWriter
は明示的に解放されないことに注意してください。これは、解放する必要があるリソースを使用しないためです。 Dispose
メソッドは主に、基礎となるストリーム (この場合は MemoryStream
) を閉じます。
.NET 4.5 以降
.NET 4.5 以降では、StreamWriter
は、writer
の割り当てが解除された後でも基になるストリームを開いたままにするオーバーロードされたメソッドを提供します。ただし、上記のコードは同じ機能を実現しながら、以前の .NET バージョンとも互換性があります。
以上が単体テストを容易にするために文字列からストリームを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。