Passer au contenu du pied de page
.NET AIDE

Application console de test C# (Comment ça fonctionne pour les développeurs)

Les tests jouent un rôle central dans le domaine du développement logiciel, servant d'élément crucial pour garantir la qualité des applications. Parmi la pléthore de frameworks disponibles, .NET se distingue comme un choix largement adopté pour créer des applications basées sur Windows. Cet article explore les complexités de .NET TestConsole, un outil spécialement conçu pour tester les applications .NET.

Tout au long de cette exploration, nous écrirons un exemple de code complet illustrant l'implémentation pratique de .NET TestConsole. De plus, nous mettrons en lumière IronPDF, une bibliothèque PDF C# exemplaire intégrée de façon transparente avec .NET TestConsole. Cette bibliothèque s'avère inestimable, permettant aux développeurs d'accéder facilement et de générer des PDFs dans l'environnement TestConsole de .NET. Rejoignez-nous dans ce voyage alors que nous dévoilons les fonctionnalités et les possibilités qui découlent de la synergie de .NET TestConsole et des fonctions PDF en C# de IronPDF.

1. Introduction : TestConsole

TestConsole est une bibliothèque de test polyvalente qui introduit une approche distinctive aux tests unitaires dans le langage de programmation C#. Les méthodes traditionnelles de tests unitaires rencontrent souvent des difficultés lorsqu'elles traitent de gros ensembles de données et d'assertions complexes, ce qui rend difficile l'identification des différences entre les résultats attendus et réels. En réponse à cela, TestConsole offre un nouveau flux de travail, passant de l'approche conventionnelle basée sur la prédiction à une comparaison côte à côte de la sortie formatée avec une version standard « approuvée » désignée.

Dans cette bibliothèque, en particulier avec le TestConsole, la variante '.Core' étend les capacités de formatage héritées du projet TestConsole original et intègre des fonctionnalités essentielles d'approbation de tests dans des scénarios où les résultats des tests divergent des attentes. TestConsole.Core s'intègre de manière transparente avec le serveur de construction pour déclencher un échec de test. Sur le PC de développement, par défaut, il offre une reconfigurabilité pour utiliser des utilitaires de comparaison de fichiers installés pour visualiser les différences. Notamment, cette approche simplifie le processus d'approbation, permettant aux développeurs de mettre à jour manuellement la version approuvée si des différences sont attendues.

1.1. Pourquoi utiliser TestConsole ?

TestConsole.Core s'inspire de ApprovalTests mais se distingue en fournissant un support pour écrire des suites de tests pour les frameworks complets et .NET Core. La bibliothèque répond à la nécessité de tester dans divers environnements, alors qu'ApprovalTests au moment de la publication, s'adressait principalement aux scénarios de frameworks complets. La syntaxe dans TestConsole.Core, bien qu'elle partage des similitudes avec ApprovalTests, offre des distinctions, notamment en ce qui concerne la sélection des outils de comparaison de fichiers et l'approbation directe de contenu.

Développé pour faciliter le test dans le code des applications .NET Core, TestConsole.Core provient de la nécessité de combler le vide laissé par le manque de support des standards et des applications .NET Core dans ApprovalTests. Avec un focus sur l'activation de tests efficaces de grands ensembles de données, les fonctionnalités d'approbation de tests de TestConsole.Core accommodent les données formatées en utilisant l'objet Test Console Output et étendent leur fonctionnalité pour gérer toute entrée de texte brut, fournissant une solution globale pour les tests unitaires en C#.

1.2. Installer TestConsole C

La console de test peut être installée en utilisant le gestionnaire de packages NuGet depuis Visual Studio, ou en exécutant la commande suivante dans la Console du gestionnaire de packages NuGet.

Install-Package TestConsole -Version 2.6.0

Ou téléchargez directement depuis la distribution TestConsole sur NuGet.

2. Exemple de Code de TestConsole

Dans cette section, nous verrons comment vous pouvez convertir les sorties de console en rapports. Le code source ci-dessous utilise une console de test pour convertir des objets Enumerable en un tableau de rapport bien formaté.

using TestConsoleLib;
using System;
using System.Linq;

// Instantiate the output class from TestConsoleLib
var output = new Output();

// Generate a collection of anonymous objects containing value, square, and string length
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });

// Format the data into a table using TestConsoleLib's method
output.FormatTable(data);

// Retrieve the formatted report as a string
string report = output.Report;

// Print the formatted report to console
Console.WriteLine(report);
using TestConsoleLib;
using System;
using System.Linq;

// Instantiate the output class from TestConsoleLib
var output = new Output();

// Generate a collection of anonymous objects containing value, square, and string length
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });

// Format the data into a table using TestConsoleLib's method
output.FormatTable(data);

// Retrieve the formatted report as a string
string report = output.Report;

// Print the formatted report to console
Console.WriteLine(report);
Imports TestConsoleLib
Imports System
Imports System.Linq

' Instantiate the output class from TestConsoleLib
Private output = New Output()

' Generate a collection of anonymous objects containing value, square, and string length
Private data = Enumerable.Range(0, 10).Select(Function(i) New With {
	Key .Value = i,
	Key .Squared = i * i,
	Key .String = New String("I"c, i)
})

' Format the data into a table using TestConsoleLib's method
output.FormatTable(data)

' Retrieve the formatted report as a string
Dim report As String = output.Report

' Print the formatted report to console
Console.WriteLine(report)
$vbLabelText   $csharpLabel

Cet extrait de code C# utilise la bibliothèque TestConsoleLib pour démontrer et exécuter un exemple simple de formatage et de reporting de données tabulaires en utilisant la classe Output de TestConsole. Il commence par créer une instance de la classe Output nommée output. Ensuite, il génère une collection de 10 éléments contenant des objets anonymes avec des propriétés représentant une valeur entière, son carré, et une chaîne de 'I' dont la longueur correspond à la valeur entière.

La méthode output.FormatTable() est ensuite invoquée pour formater les données en un tableau. Le résultat formaté est stocké dans la variable chaîne report, qui est finalement imprimée sur la console en utilisant Console.WriteLine(). Cela montre la capacité et l'aptitude de TestConsole à formater et présenter facilement des données tabulaires pour une meilleure lisibilité lors de scénarios de tests unitaires ou de débogage.

2.1. Sortie

Application Test Console C# (Comment cela fonctionne pour le développeur) : Figure 1 - Sortie du code précédent

3. IronPDF

Le site officiel de IronPDF offre une plateforme complète pour une bibliothèque PDF C# robuste conçue pour simplifier et améliorer le processus de travail avec des documents PDF dans les applications .NET. Offrant un ensemble complet de fonctionnalités, IronPDF permet aux développeurs de créer, manipuler et extraire sans effort le contenu des fichiers PDF dans leurs projets C#. Avec un focus sur la flexibilité et la facilité d'utilisation, IronPDF prend en charge une gamme étendue de fonctionnalités, y compris la génération de PDFs à partir de HTML, d'images, ou de documents existants, ainsi que l'incorporation de contenu dynamique, tel que des graphiques et des tables.

Ses capacités s'étendent à la fusion, la division et la manipulation des pages PDF, ainsi que des fonctions telles que l'extraction de texte et d'images. Que ce soit pour le reporting, la documentation, ou toute tâche liée aux PDF, IronPDF se distingue comme une solution fiable et polyvalente, simplifiant l'intégration de la fonctionnalité PDF dans les applications C# avec un minimum d'effort.

3.1. Création de fichiers PDF des rapports de Test Console

Dans cette section, nous discuterons de la façon dont vous pouvez convertir la sortie des rapports TestConsole.

Commencer avec IronPDF


Installer la bibliothèque IronPDF

Installer en utilisant le Gestionnaire de Packages NuGet

Pour intégrer IronPDF dans votre projet Console à l'aide du gestionnaire de packages NuGet, suivez ces étapes :

  1. Ouvrez Visual Studio et dans l'explorateur de solutions, faites un clic droit sur votre projet.
  2. Choisissez "Gérer les packages NuGet..." dans le menu contextuel.
  3. Allez à l'onglet de navigation et recherchez IronPDF.
  4. Sélectionnez la bibliothèque IronPDF dans les résultats de recherche et cliquez sur le bouton d'installation.
  5. Acceptez tout accord de licence s'il y en a.

Si vous souhaitez inclure IronPDF dans votre projet via la console du gestionnaire de packages, exécutez ensuite la commande suivante dans la console du gestionnaire de packages :

Install-Package IronPdf

Cela récupérera et installera IronPDF dans votre projet.

Installer en utilisant le site NuGet

Pour une vue d'ensemble détaillée d'IronPDF, y compris ses fonctionnalités, compatibilités, et autres options de téléchargement, visitez la page IronPDF sur le site NuGet à https://www.nuget.org/packages/IronPdf.

Installer via DLL

Alternativement, vous pouvez intégrer IronPDF directement dans votre projet en utilisant son fichier DLL. Téléchargez le fichier ZIP contenant le DLL depuis ce package ZIP IronPDF. Décompressez-le, et incluez le DLL dans votre projet.

Une fois installé, nous recréerons maintenant le rapport de l'exemple ci-dessus, mais cette fois au lieu de l'écrire dans la console, nous créerons un rapport PDF à partir de celui-ci.

using TestConsole.OutputFormatting;
using TestConsoleLib;
using IronPdf;
using System;
using System.Linq;

// Instantiate the output class from TestConsoleLib
var output = new Output();

// Generate a collection of anonymous objects containing value, square, and string length
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });

// Format the data into a table and obtain the formatted output as a string
output.FormatTable(data);
string report = output.Report;

// Wrap the report in HTML pre-tags to maintain formatting
var htmlContent = $"<pre>{report}</pre>";

// Initialize IronPDF renderer and render the HTML content to PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the PDF to a file
pdf.SaveAs("test.pdf");
using TestConsole.OutputFormatting;
using TestConsoleLib;
using IronPdf;
using System;
using System.Linq;

// Instantiate the output class from TestConsoleLib
var output = new Output();

// Generate a collection of anonymous objects containing value, square, and string length
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });

// Format the data into a table and obtain the formatted output as a string
output.FormatTable(data);
string report = output.Report;

// Wrap the report in HTML pre-tags to maintain formatting
var htmlContent = $"<pre>{report}</pre>";

// Initialize IronPDF renderer and render the HTML content to PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the PDF to a file
pdf.SaveAs("test.pdf");
Imports TestConsole.OutputFormatting
Imports TestConsoleLib
Imports IronPdf
Imports System
Imports System.Linq

' Instantiate the output class from TestConsoleLib
Private output = New Output()

' Generate a collection of anonymous objects containing value, square, and string length
Private data = Enumerable.Range(0, 10).Select(Function(i) New With {
	Key .Value = i,
	Key .Squared = i * i,
	Key .String = New String("I"c, i)
})

' Format the data into a table and obtain the formatted output as a string
output.FormatTable(data)
Dim report As String = output.Report

' Wrap the report in HTML pre-tags to maintain formatting
Dim htmlContent = $"<pre>{report}</pre>"

' Initialize IronPDF renderer and render the HTML content to PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Save the PDF to a file
pdf.SaveAs("test.pdf")
$vbLabelText   $csharpLabel

Cet extrait de code C# montre l'intégration de TestConsoleLib et IronPDF pour générer un document PDF contenant un tableau de données formatées. Initialement, il crée une instance de la classe Output de TestConsoleLib et formate une table en utilisant des données générées à partir d'une plage d'entiers. La sortie formatée est stockée dans la variable chaîne report, qui est ensuite encadrée par des balises pre HTML pour préserver le formatage.

Ensuite, le code utilise le ChromePdfRenderer de IronPDF pour rendre le contenu HTML sous forme de document PDF. Enfin, le PDF résultant est sauvegardé sous le nom « test.pdf ». Ce code démontre la combinaison sans faille de TestConsoleLib pour le formatage et IronPDF pour la génération de PDF, offrant une solution simple pour incorporer des données formatées dans des documents PDF dans une application C#.

3.1.1. Sortie

Application Test Console C# (Comment cela fonctionne pour le développeur) : Figure 2 - Sortie du code précédent

4. Conclusion

La .NET TestConsole s'impose comme une bibliothèque de test centrale pour les applications C#, présentant une approche distinctive pour les tests unitaires qui atténue les défis associés aux grands ensembles de données et aux assertions complexes. La variante TestConsole.Core étend son utilité à travers divers environnements, comblant les lacunes laissées par d'autres frameworks et fournissant un flux de travail efficace pour les comparaisons côte à côte de sorties formatées.

Elle s'intègre de manière transparente avec IronPDF, une bibliothèque C# robuste, et non seulement facilite les tests rationalisés mais étend également ses capacités à la génération et à la manipulation de PDF. Ensemble, ces outils permettent aux développeurs de gérer sans effort les complexités des tests et d'améliorer la génération de documents dans leurs projets C#, offrant une solution complète et efficace.

Le tutoriel détaillé et complet sur la conversion HTML en PDF avec IronPDF est disponible dans le guide de tutoriel IronPDF.

Questions Fréquemment Posées

Comment puis-je créer une application console en C# ?

Pour créer une application console en C#, vous pouvez utiliser Visual Studio pour démarrer un nouveau projet et sélectionner 'Application console' comme type de projet. Ensuite, écrivez votre code C# dans la méthode Main pour exécuter la logique de votre application.

Quel est l'objectif de .NET TestConsole ?

.NET TestConsole est conçu pour tester les applications .NET en fournissant un flux de travail unique qui implique une comparaison côte à côte des sorties formatées par rapport aux normes approuvées, améliorant l'efficacité du processus de test.

Comment puis-je convertir les sorties d'une application console en PDF en C# ?

Vous pouvez utiliser IronPDF pour convertir les sorties d'une application console en PDF en C#. Tout d'abord, capturez la sortie console sous forme de chaîne HTML formatée, puis utilisez la méthode RenderHtmlAsPdf d'IronPDF pour créer un PDF à partir du contenu HTML.

Quels sont les avantages d'utiliser une bibliothèque PDF dans les applications C# ?

Utiliser une bibliothèque PDF comme IronPDF dans les applications C# permet aux développeurs de générer, modifier et extraire du contenu des fichiers PDF, permettant des fonctionnalités telles que la création de PDF à partir de contenu HTML, l'intégration de données dynamiques, et plus encore.

Comment fonctionne la comparaison côte à côte des sorties dans .NET TestConsole ?

La comparaison côte à côte des sorties dans .NET TestConsole implique de comparer la sortie formatée de votre application avec une norme pré-approuvée, permettant aux développeurs d'identifier les écarts et d'assurer l'exactitude des résultats de test.

.NET TestConsole peut-il être utilisé avec .NET Core ?

Oui, .NET TestConsole peut être utilisé avec les frameworks complets et .NET Core, offrant flexibilité et compatibilité à travers différents environnements .NET pour tester des applications.

Comment puis-je intégrer une bibliothèque PDF dans mon projet .NET ?

Pour intégrer une bibliothèque PDF comme IronPDF dans votre projet .NET, vous pouvez utiliser le gestionnaire de packages NuGet dans Visual Studio pour l'installer, ou télécharger la DLL de la bibliothèque et l'ajouter aux références de votre projet.

Quel est l'avantage d'utiliser une bibliothèque de test dans le développement logiciel ?

Une bibliothèque de test, telle que .NET TestConsole, rationalise le processus de test en automatisant les approbations de test, facilitant les comparaisons efficaces des sorties côte à côte et améliorant la gestion globale des tests, conduisant à une meilleure qualité logicielle.

Comment gérez-vous les ensembles de données volumineux avec .NET TestConsole ?

.NET TestConsole est équipé pour gérer efficacement les ensembles de données volumineux en utilisant une approche de comparaison qui simplifie les assertions complexes et assure des tests précis des sorties de données étendues.

Où puis-je trouver plus d'informations sur l'utilisation d'IronPDF ?

Plus d'informations sur l'utilisation d'IronPDF peuvent être trouvées sur le site officiel d'IronPDF, qui offre des guides complets, des tutoriels et de la documentation pour l'intégration et l'utilisation d'IronPDF dans des projets C#.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite