ホームページ > バックエンド開発 > C++ > 単体テストを容易にするために文字列からストリームを作成するにはどうすればよいですか?

単体テストを容易にするために文字列からストリームを作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-22 15:01:11
オリジナル
827 人が閲覧しました

How Can I Create a Stream from a String for Easier Unit Testing?

単体テストの簡略化: 文字列を使用したスト​​リームの作成

テキスト ファイル ストリームを処理する単体テストの方法は難しい場合があります。このプロセスを簡素化するには、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート