Heim > Backend-Entwicklung > C++ > Wie erstelle ich Streams aus Strings für .NET-Unit-Tests?

Wie erstelle ich Streams aus Strings für .NET-Unit-Tests?

Patricia Arquette
Freigeben: 2025-01-22 15:07:10
Original
773 Leute haben es durchsucht

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

Simulieren von Dateieingaben in .NET-Unit-Tests mit String-Streams

Unit-Tests erfordern oft die Simulation von Dateieingaben. Dies kann in .NET effizient erreicht werden, indem Streams direkt aus Strings erstellt werden. Hier ist eine kurze Methode:

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;
}
Nach dem Login kopieren

Praktische Anwendung:

Diese Methode vereinfacht den Testaufbau:

Stream testStream = CreateStreamFromString("a,b \n c,d");
Nach dem Login kopieren

Ressourcenmanagement:

Während die StreamWriter-Methode von Dispose() die zu entsorgenden Ressourcen nicht direkt verwaltet (sie umhüllt das MemoryStream), empfiehlt es sich, das MemoryStream nach der Verwendung zu entsorgen:

using (var stream = CreateStreamFromString("test data"))
{
    // Your test code using 'stream' here...
}
Nach dem Login kopieren

Die using-Erklärung gewährleistet die ordnungsgemäße Entsorgung, unabhängig von Ausnahmen.

.NET 4.5 und höher:

Während die bereitgestellte Methode in allen .NET-Versionen funktioniert, .NET 4.5 und höher bieten StreamWriter Überladungen, die es Ihnen ermöglichen, den zugrunde liegenden Stream nach der Entsorgung des Writers offen zu halten. Informationen zu erweiterten Szenarien, die dieses Verhalten erfordern, finden Sie in der folgenden Diskussion zum Stapelüberlauf:

Den Stream offen halten, nachdem der StreamWriter entsorgt wurde

Das obige ist der detaillierte Inhalt vonWie erstelle ich Streams aus Strings für .NET-Unit-Tests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage