Simplifiez les tests unitaires : créez des flux avec des chaînes
Les méthodes de tests unitaires pour gérer les flux de fichiers texte peuvent être délicates. Pour simplifier ce processus, vous pouvez utiliser la méthode GenerateStreamFromString
:
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; }
Exemple d'utilisation :
Stream s = GenerateStreamFromString("a,b \n c,d");
Utiliser Stream et Dispose
N'oubliez pas d'utiliser l'instruction using
pour vous assurer que le flux est diffusé correctement :
using (var stream = GenerateStreamFromString("a,b \n c,d")) { // ... 对流进行操作 }
StreamWriter et ressources de publication
Notez que StreamWriter
n'est pas publié explicitement. En effet, il n’utilise aucune ressource qui doit être libérée. La méthode Dispose
ferme principalement le flux sous-jacent, dans ce cas MemoryStream
.
.NET 4.5 et supérieur
Dans .NET 4.5 et versions ultérieures, StreamWriter
fournit une méthode surchargée qui maintient le flux sous-jacent ouvert même après la désallocation de writer
. Cependant, le code fourni ci-dessus offre les mêmes fonctionnalités tout en étant également compatible avec les versions antérieures de .NET.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!