Maison > développement back-end > C++ > Comment puis-je créer un flux à partir d'une chaîne pour faciliter les tests unitaires ?

Comment puis-je créer un flux à partir d'une chaîne pour faciliter les tests unitaires ?

Mary-Kate Olsen
Libérer: 2025-01-22 15:01:11
original
839 Les gens l'ont consulté

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

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;
}
Copier après la connexion

Exemple d'utilisation :

Stream s = GenerateStreamFromString("a,b \n c,d");
Copier après la connexion

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"))
{
    // ... 对流进行操作
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal