Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencipta Strim daripada Rentetan untuk Ujian Unit yang Lebih Mudah?

Bagaimanakah Saya Boleh Mencipta Strim daripada Rentetan untuk Ujian Unit yang Lebih Mudah?

Mary-Kate Olsen
Lepaskan: 2025-01-22 15:01:11
asal
788 orang telah melayarinya

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

Ringkaskan ujian unit: buat strim dengan rentetan

Cara ujian unit mengendalikan strim fail teks boleh menjadi rumit. Untuk memudahkan proses ini, anda boleh menggunakan kaedah 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>
Salin selepas log masuk

Contoh penggunaan:

<code class="language-csharp">Stream s = GenerateStreamFromString("a,b \n c,d");</code>
Salin selepas log masuk

Gunakan Strim dan Buang

Ingat untuk menggunakan pernyataan using untuk memastikan strim dikeluarkan dengan betul:

<code class="language-csharp">using (var stream = GenerateStreamFromString("a,b \n c,d"))
{
    // ... 对流进行操作
}</code>
Salin selepas log masuk

StreamWriter dan keluarkan sumber

Perhatikan bahawa StreamWriter tidak dikeluarkan secara eksplisit. Ini kerana ia tidak menggunakan sebarang sumber yang perlu dikeluarkan. Kaedah Dispose terutamanya menutup strim asas yang mendasari, dalam kes ini MemoryStream.

.NET 4.5 dan ke atas

Dalam .NET 4.5 dan lebih baru, StreamWriter menyediakan kaedah terlebih beban yang memastikan strim asas terbuka walaupun selepas writer diagihkan. Walau bagaimanapun, kod yang disediakan di atas mencapai kefungsian yang sama sambil juga serasi dengan versi .NET yang lebih awal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Strim daripada Rentetan untuk Ujian Unit yang Lebih Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan