AYUDA .NET

Test Console Application C# (Cómo funciona para desarrolladores)

Actualizado 14 de enero, 2024
Compartir:

Las pruebas desempeñan un papel fundamental en el ámbito del desarrollo de software, ya que son un elemento crucial para garantizar la calidad de las aplicaciones. Entre la plétora de frameworks disponibles, .NET destaca como una opción ampliamente aceptada para crear aplicaciones basadas en Windows. Este artículo profundiza en los entresijos de .NET TestConsole, una herramienta diseñada específicamente para probar aplicaciones .NET.

A lo largo de esta exploración, escribiremos un completo ejemplo de código que ilustrará la implementación práctica de la Consola de Pruebas .NET. Además, arrojaremos luz sobre IronPDF, una ejemplar librería C# PDF perfectamente integrada con .NET TestConsole. Esta biblioteca es de un valor incalculable, ya que permite a los desarrolladores acceder a los archivos PDF y generarlos sin esfuerzo en el entorno .NET. Entorno de la Consola de Pruebas. Acompáñenos en este viaje mientras desentrañamos las funcionalidades y posibilidades que surgen de la sinergia de .NET TestConsole y IronPDF.

1. 1. Introducción: TestConsole

TestConsole es una biblioteca de pruebas versátil que introduce un enfoque distintivo a las pruebas unitarias en el lenguaje de programación C#. Los métodos tradicionales de pruebas unitarias suelen plantear problemas cuando se trabaja con grandes conjuntos de datos y aserciones complejas, lo que provoca dificultades para identificar las diferencias entre los resultados esperados y los reales. En respuesta a esto, Test Console proporciona un flujo de trabajo novedoso, pasando del enfoque convencional basado en la predicción a una comparación lado a lado de la salida formateada con una versión de salida estándar designada "aprobada".

En esta biblioteca, en particular con la TestConsole, la variante '.Core' amplía las capacidades de formato heredadas del proyecto TestConsole original e incorpora funciones esenciales de aprobación de pruebas en escenarios en los que los resultados de las pruebas divergen de las expectativas. TestConsole.Core se integra perfectamente con el servidor de compilación para desencadenar un fallo de prueba. En el PC de desarrollo, por defecto, ofrece reconfigurabilidad para utilizar las utilidades de comparación de archivos instaladas para visualizar las diferencias. En particular, este enfoque agiliza el proceso de aprobación, permitiendo a los desarrolladores actualizar manualmente la versión aprobada si se prevén diferencias.

1.1. ¿Por qué utilizar TestConsole?

TestConsole.Core se inspira en ApprovalTests pero se distingue por proporcionar soporte para escribir tanto un framework completo como suites de pruebas .NET Core. La biblioteca responde a la necesidad de realizar pruebas en diversos entornos, al igual que ApprovalTests en el momento de su publicación, destinada principalmente a escenarios de marco completo. La sintaxis de TestConsole.Core, aunque comparte similitudes con ApprovalTests, ofrece distinciones, especialmente en lo que respecta a la selección de la herramienta de comparación de archivos y la aprobación directa del contenido.

Desarrollado para facilitar la realización de pruebas en código de aplicaciones .NET Core, TestConsole.Core surge de la necesidad de llenar el vacío dejado por la falta de soporte de aplicaciones .NET estándar y .NET Core en ApprovalTests. Con un enfoque en permitir pruebas efectivas de grandes conjuntos de datos, las características de aprobación de pruebas de TestConsole.Core acomodan datos formateados usando el objeto Test Console Output y extienden su funcionalidad para manejar cualquier entrada de texto plano, proporcionando una solución completa para pruebas unitarias en C#.

1.2. Instalar TestConsole C#

La consola de pruebas puede instalarse utilizando el formulario del gestor de paquetes NuGet dentro de Visual Studio, o ejecutando el siguiente comando en la consola del gestor de paquetes NuGet.

Install-Package TestConsole -Version 2.6.0

O descárguelo directamente desde Página NuGet de TestCosole.

2. Ejemplo de código de TestConsole

En esta sección veremos cómo convertir las salidas de la consola en informes. el siguiente código fuente utiliza una consola de pruebas para convertir objetos Enumerables en una tabla de informe bien formateada

using TestConsoleLib;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
Console.WriteLine(report);
using TestConsoleLib;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
Console.WriteLine(report);
Imports TestConsoleLib
Private output = New Output()
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)
})
output.FormatTable(data)
Dim report As String = output.Report
Console.WriteLine(report)
VB   C#

Este fragmento de código C# utiliza la librería TestConsoleLib para demostrar y ejecutar un ejemplo simple de formateo y generación de informes de datos tabulares utilizando la clase Output de TestConsole. Comienza creando una instancia de la clase Output llamada 'output'. Posteriormente, genera una colección de 10 elementos que contienen objetos anónimos con propiedades que representan un valor entero, su cuadrado y una cadena de 'I's cuya longitud corresponde al valor entero.

La salida.FormatTable() para formatear los datos en una tabla. El resultado formateado se almacena en la variable de cadena 'report', que finalmente se imprime en la consola utilizando Console.WriteLine(). Esto muestra la capacidad de TestConsole y su habilidad para formatear y presentar fácilmente datos tabulares para mejorar la legibilidad durante las pruebas unitarias o escenarios de depuración.

2.1. Salida

Aplicación de Consola de Pruebas C# (Cómo Funciona para el Desarrollador): Figura 1 - Salida del código anterior

3. IronPDF

IronPDF es una potente biblioteca de C# diseñada para simplificar y mejorar el proceso de trabajo con documentos PDF en aplicaciones .NET. Con un completo conjunto de funciones, IronPDF permite a los desarrolladores crear, manipular y extraer contenido de archivos PDF sin esfuerzo en sus proyectos C#. Centrado en la flexibilidad y la facilidad de uso, IronPDF admite una amplia gama de funcionalidades, incluida la generación de PDF a partir de HTML, imágenes o documentos existentes, así como la incorporación de contenido dinámico, como gráficos y tablas.

Sus capacidades se extienden a la fusión, división y manipulación de páginas PDF, así como a funciones como la extracción de texto e imágenes. Ya sea para informes, documentación o cualquier tarea relacionada con PDF, IronPDF destaca como una solución fiable y versátil, que agiliza la integración de la funcionalidad PDF en aplicaciones C# con el mínimo esfuerzo.

3.1. Creación de archivos PDF de informes de la consola de pruebas

En esta sección, discutiremos cómo puede convertir la salida de los informes de TestConsole.

Instalar la biblioteca IronPDF

Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Instalación mediante el gestor de paquetes NuGet

Para integrar IronPDF en su proyecto Console utilizando el gestor de paquetes NuGet, siga estos pasos:

  1. Abra Visual Studio y, en el explorador de soluciones, haga clic con el botón derecho del ratón en su proyecto.
  2. Seleccione "Gestionar paquetes NuGet..." en el menú contextual.
  3. Vaya a la pestaña Examinar y busque IronPDF.
  4. Seleccione la biblioteca IronPDF en los resultados de la búsqueda y haga clic en el botón Instalar.
  5. Acepte cualquier solicitud de acuerdo de licencia.

    Si desea incluir IronPDF en su proyecto a través de la consola del gestor de paquetes, ejecute el siguiente comando en la consola del gestor de paquetes:

Install-Package IronPdf

Buscará e instalará IronPDF en su proyecto.

Instalación mediante el sitio web de NuGet

Para obtener una descripción detallada de IronPDF, incluidas sus características, compatibilidad y opciones de descarga adicionales, visite la página de IronPDF en el sitio web de NuGet en https://www.nuget.org/packages/IronPdf.

Instalar mediante DLL

Como alternativa, puede incorporar IronPDF directamente a su proyecto utilizando su archivo dll. Descargue el archivo ZIP que contiene la DLL desde aquí enlace. Descomprímelo e incluye la DLL en tu proyecto.

Una vez instalado ahora recrearemos el informe de ejemplo anterior pero esta vez en lugar de escribirlo en la consola, crearemos un informe PDF a partir de él.

using TestConsole.OutputFormatting;
using TestConsoleLib;
using IronPdf;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
var htmlContent = $"<pre>{report}</pre>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("test.pdf");
using TestConsole.OutputFormatting;
using TestConsoleLib;
using IronPdf;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
var htmlContent = $"<pre>{report}</pre>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("test.pdf");
Imports TestConsole.OutputFormatting
Imports TestConsoleLib
Imports IronPdf
Private output = New Output()
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)
})
output.FormatTable(data)
Dim report As String = output.Report
Dim htmlContent = $"<pre>{report}</pre>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("test.pdf")
VB   C#

Este fragmento de código C# muestra la integración de TestConsoleLib e IronPDF para generar un documento PDF que contiene una tabla de datos formateada. Inicialmente, crea una instancia de la clase Output de TestConsoleLib y formatea una tabla utilizando datos generados a partir de un rango de enteros. La salida formateada se almacena en la variable de cadena 'report', que se encierra dentro de pre-etiquetas HTML para preservar el formato.

A continuación, el código utiliza el ChromePdfRenderer de IronPDF para convertir el contenido HTML en un documento PDF. Finalmente, el PDF resultante se guarda como "test.pdf". Este código demuestra la perfecta combinación de TestConsoleLib para el formateo e IronPDF para la generación de PDF, proporcionando una solución directa para incorporar datos formateados en documentos PDF dentro de una aplicación C#.

3.1.1. Salida

Aplicación de Consola de Pruebas C# (Cómo Funciona para el Desarrollador): Figura 2 - Salida del código anterior

4. Conclusión

.NET TestConsole emerge como una librería de pruebas fundamental para aplicaciones C#, presentando un enfoque distintivo a las pruebas unitarias que alivia los desafíos asociados con grandes conjuntos de datos y aserciones complejas. La variante TestConsole.Core amplía su utilidad a diversos entornos, cubriendo las lagunas dejadas por otros marcos y proporcionando un flujo de trabajo eficiente para la comparación lado a lado de los resultados formateados.

Se integra perfectamente con IronPDF, una robusta biblioteca de C#, y no sólo facilita la realización de pruebas, sino que también amplía sus capacidades a la generación y manipulación de PDF. Juntas, estas herramientas permiten a los desarrolladores manejar sin esfuerzo las complejidades de las pruebas y mejorar la generación de documentos en sus proyectos de C#, ofreciendo una solución completa y eficaz.

El tutorial detallado y completo sobre la conversión de HTML a PDF de IronPDF se encuentra en aquí.

< ANTERIOR
RestSharp C# (Cómo funciona para desarrolladores)
SIGUIENTE >
C# Writeline (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123