Maison > développement back-end > C++ > Comment créer des flux à partir de chaînes pour les tests unitaires .NET ?

Comment créer des flux à partir de chaînes pour les tests unitaires .NET ?

Patricia Arquette
Libérer: 2025-01-22 15:07:10
original
741 Les gens l'ont consulté

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

Simulation de l'entrée de fichier dans les tests unitaires .NET avec des flux de chaînes

Les tests unitaires nécessitent souvent de simuler une entrée de fichier. Ceci peut être réalisé efficacement dans .NET en créant des flux directement à partir de chaînes. Voici une méthode concise :

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

Application pratique :

Cette méthode simplifie la configuration du test :

<code class="language-csharp">Stream testStream = CreateStreamFromString("a,b \n c,d");</code>
Copier après la connexion

Gestion des ressources :

Bien que la méthode StreamWriter de Dispose() ne gère pas directement les ressources à éliminer (elle enveloppe le MemoryStream), il est recommandé de disposer du MemoryStream après utilisation :

<code class="language-csharp">using (var stream = CreateStreamFromString("test data"))
{
    // Your test code using 'stream' here...
}</code>
Copier après la connexion

La déclaration using garantit une élimination appropriée, quelles que soient les exceptions.

.NET 4.5 et versions ultérieures :

Bien que la méthode fournie fonctionne sur toutes les versions de .NET, .NET 4.5 et versions ultérieures proposent StreamWriter des surcharges vous permettant de garder le flux sous-jacent ouvert après la suppression de l'écrivain. Pour les scénarios avancés nécessitant ce comportement, consultez la discussion suivante sur Stack Overflow :

Garder le flux ouvert après avoir éliminé le StreamWriter

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!

source:php.cn
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