Heim >Backend-Entwicklung >C++ >Wie kann ich einen Stream aus einem String erstellen, um Unit-Tests zu vereinfachen?
Unit-Tests vereinfachen: Streams mit Strings erstellen
Unit-Testmethoden zur Handhabung von Textdateiströmen können schwierig sein. Um diesen Vorgang zu vereinfachen, können Sie die GenerateStreamFromString
-Methode verwenden:
<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>
Anwendungsbeispiel:
<code class="language-csharp">Stream s = GenerateStreamFromString("a,b \n c,d");</code>
Streamen und Entsorgen verwenden
Denken Sie daran, die using
-Anweisung zu verwenden, um sicherzustellen, dass der Stream korrekt freigegeben wird:
<code class="language-csharp">using (var stream = GenerateStreamFromString("a,b \n c,d")) { // ... 对流进行操作 }</code>
StreamWriter und Release-Ressourcen
Beachten Sie, dass StreamWriter
nicht explizit freigegeben ist. Dies liegt daran, dass keine Ressourcen verwendet werden, die freigegeben werden müssen. Die Methode Dispose
schließt hauptsächlich den zugrunde liegenden Stream, in diesem Fall MemoryStream
.
.NET 4.5 und höher
In .NET 4.5 und höher stellt StreamWriter
eine überladene Methode bereit, die den zugrunde liegenden Stream auch nach der Freigabe von writer
geöffnet hält. Der oben bereitgestellte Code erreicht jedoch die gleiche Funktionalität und ist gleichzeitig mit früheren .NET-Versionen kompatibel.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Stream aus einem String erstellen, um Unit-Tests zu vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!