Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mencipta Strim daripada Strings untuk Ujian Unit .NET?

Bagaimana untuk Mencipta Strim daripada Strings untuk Ujian Unit .NET?

Patricia Arquette
Lepaskan: 2025-01-22 15:07:10
asal
696 orang telah melayarinya

How to Create Streams from Strings for .NET Unit Testing?

Simulasi Input Fail dalam Ujian Unit .NET dengan Aliran Rentetan

Ujian unit selalunya memerlukan simulasi input fail. Ini boleh dicapai dengan cekap dalam .NET dengan mencipta aliran terus daripada rentetan. Berikut adalah kaedah ringkas:

<code class="language-csharp">public static Stream CreateStreamFromString(string inputString)
{
    var memoryStream = new MemoryStream();
    var streamWriter = new StreamWriter(memoryStream);
    streamWriter.Write(inputString);
    streamWriter.Flush();
    memoryStream.Position = 0;
    return memoryStream;
}</code>
Salin selepas log masuk

Aplikasi Praktikal:

Kaedah ini memudahkan persediaan ujian:

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

Pengurusan Sumber:

Walaupun kaedah StreamWriter Dispose() tidak secara langsung menguruskan sumber yang memerlukan pelupusan (ia membalut MemoryStream), amalan terbaik untuk melupuskan MemoryStream selepas digunakan:

<code class="language-csharp">using (var stream = CreateStreamFromString("test data"))
{
    // Your test code using 'stream' here...
}</code>
Salin selepas log masuk

Pernyataan using memastikan pelupusan yang betul, tanpa mengira pengecualian.

.NET 4.5 dan Kemudian:

Walaupun kaedah yang disediakan berfungsi merentasi semua versi .NET, .NET 4.5 dan kemudian menawarkan StreamWriter lebihan beban yang membolehkan anda memastikan strim asas terbuka selepas melupuskan penulis. Untuk senario lanjutan yang memerlukan tingkah laku ini, rujuk perbincangan Stack Overflow berikut:

Memastikan Strim Terbuka Selepas Melupuskan Penulis Strim

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Strim daripada Strings untuk Ujian Unit .NET?. 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