Examen de las herramientas y el entorno de pruebas unitarias
GitHub Copilot Chat puede usarse para sugerir pruebas unitarias basadas en el código que usted especifique. Por ejemplo, si especifica la firma y el cuerpo de un método, GitHub Copilot Chat puede sugerirle casos de prueba que cubran los parámetros de entrada y los valores de salida esperados. Una vez que su proyecto de prueba contenga unos cuantos casos de prueba, puede usar GitHub Copilot para generar sugerencias de finalización de código para casos de prueba adicionales. Usar finalizaciones de líneas de código para generar pruebas unitarias reduce el proceso repetitivo y ayuda a asegurar que su código se prueba a fondo.
GitHub Copilot Chat usa el contexto y la semántica de su código para sugerir aserciones que aseguren que la funcionalidad funciona correctamente. También le ayuda a escribir casos de prueba para casos límite y condiciones límite que podrían ser difíciles de identificar manualmente. Por ejemplo, GitHub Copilot Chat puede sugerir casos de prueba para el control de errores, valores null o tipos de entrada inesperados.
Importante
Los casos de prueba generados pueden no cubrir todos los escenarios posibles. Las pruebas manuales y las revisiones del código son necesarias para asegurar la calidad de su código.
Compatibilidad con Copilot de GitHub para pruebas unitarias
Copilot puede ayudar con las siguientes tareas de prueba:
- Configurar marcos de pruebas: obtenga ayuda para configurar el marco de pruebas adecuado y las extensiones de VS Code para el proyecto y el lenguaje.
- Generar código de prueba: cree pruebas unitarias, pruebas de integración y pruebas de un extremo a otro que cubran el código de la aplicación.
- Controlar casos perimetrales: genere conjuntos de pruebas completos para cubrir casos perimetrales y condiciones de error.
- Corrección de pruebas con errores: reciba sugerencias para corregir errores de prueba.
- Mantener la coherencia: personalice Copilot para generar pruebas que sigan las prácticas de codificación del proyecto.
Configuración del marco de pruebas
Para acelerar el flujo de trabajo de pruebas, Copilot puede ayudar a configurar el marco de pruebas y las extensiones de VS Code para el proyecto. Copilot sugiere marcos de pruebas adecuados en función del tipo de proyecto.
Abra la vista Chat.
Escriba el
/setupTestscomando en el campo de entrada del chat.Siga las instrucciones de GitHub Copilot para configurar el proyecto.
Escritura de pruebas unitarias con GitHub Copilot
GitHub Copilot puede ayudarle a escribir pruebas para el código de la aplicación mediante la generación de código de prueba que cubre el código base. Esto incluye pruebas unitarias, pruebas de un extremo a otro y pruebas para casos perimetrales.
Puede generar pruebas unitarias mediante las siguientes herramientas de GitHub Copilot:
- Vista de chat: use la vista Chat generar pruebas unitarias para un proyecto, clase o método mediante el modo Ask, Edit o Agent.
- Chat en línea: use Chat en línea para generar pruebas unitarias para clases o métodos seleccionados.
- Acciones inteligentes: use la acción inteligente Generar pruebas inteligentes para generar pruebas unitarias para el código seleccionado sin escribir un mensaje.
- Finalizaciones de línea de código: Use finalizaciones de línea de código para sugerir pruebas unitarias adicionales para un caso de prueba existente.
Corrección de pruebas con errores
Copilot se integra con el Explorador de pruebas en Visual Studio Code y puede ayudar a corregir las pruebas con errores.
En el Explorador de pruebas, mantenga el puntero sobre una prueba con error.
Seleccione el botón Corregir error de prueba (icono de sparkle)
Revise y aplique la corrección sugerida de Copilot.
Alternativamente, puede:
Abra la vista Chat.
Escriba el comando de barra oblicua
/fixTestFailure.Siga las sugerencias de Copilot para corregir la prueba.
Sugerencia
El modo de agente supervisa la salida de la prueba al ejecutar pruebas e intenta corregir y volver a ejecutar pruebas con errores automáticamente.
Mantener la coherencia
Si su organización tiene requisitos de prueba específicos, puede personalizar cómo Copilot genera pruebas para asegurarse de que cumplen sus estándares. Puede personalizar cómo Copilot genera pruebas proporcionando instrucciones personalizadas. Por ejemplo:
- Especificación de marcos de pruebas preferidos
- Definición de convenciones de nomenclatura para pruebas
- Establecer preferencias de estructura de código
- Solicitar patrones o metodologías de prueba específicos
Compatibilidad de Visual Studio Code con pruebas unitarias
Para crear y ejecutar pruebas unitarias de C# en Visual Studio Code, necesita los siguientes recursos:
- SDK de .NET 8.0 o posterior.
- Extensión del kit de desarrollo de C# para Visual Studio Code.
- Un paquete de marco de prueba agregado al proyecto.
Compatibilidad del kit de desarrollo de C# para pruebas unitarias
La extensión del Kit de desarrollo de C# para Visual Studio Code ofrece un amplio conjunto de características que le ayudarán a crear y administrar pruebas unitarias para sus proyectos de C#. Contiene las características siguientes:
- Explorador de pruebas: una vista de árbol para mostrar todos los casos de prueba en sus áreas de trabajo.
- Ejecutar/depurar casos de prueba: una característica para ejecutar y depurar casos de prueba.
- Ver los resultados de las pruebas: una característica para ver los resultados de las pruebas.
- Comandos de prueba: comandos para ejecutar todas las pruebas, ejecutar pruebas fallidas y más.
- Configuración de las pruebas: configuración específica de las pruebas.
- Paquete de marco de prueba
El Kit de desarrollo de C# es compatible con los siguientes marcos de pruebas:
- xUnit
- NUnit
- MSTest (herramienta de pruebas de Microsoft)
El Kit de desarrollo de C# le permite crear un proyecto de pruebas, agregar un paquete de marco de pruebas y administrar pruebas unitarias.
Habilitación de un marco de pruebas
La paleta de comandos de Visual Studio Code proporciona la forma más sencilla de habilitar un marco de pruebas para su proyecto. Puede abrir la paleta de comandos de las siguientes formas:
- Presione las teclas Ctrl + Mayús + P (Windows/Linux) o Cmd + Mayús + P (macOS).
- Abra el menú Vista y después seleccione Paleta de comandos.
- Abra la vista de Explorador de soluciones, haga clic con el botón derecho en la carpeta de la solución y después seleccione Nuevo proyecto. Esta opción abre la paleta de comandos con el comando .NET:New Project... ya seleccionado.
Las siguientes secciones describen cómo habilitar un marco de pruebas para su proyecto C# usando la paleta de comandos.
xUnit
Abra la paleta de comandos y seleccione .NET:Nuevo proyecto... y, luego, seleccioneProyecto de prueba de xUnit y proporcione el nombre y la ubicación del nuevo proyecto. Este comando crea un nuevo proyecto y directorio que usa xUnit como biblioteca de pruebas y configura el ejecutor de pruebas agregando los siguientes elementos <PackageReference /> al archivo del proyecto.
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
Desde el terminal, puede ejecutar el comando siguiente:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
Abra la paleta de comandos y seleccione .NET:Nuevo proyecto... y, luego, seleccioneProyecto de prueba de NUnit3 y proporcione el nombre y la ubicación del nuevo proyecto. Este comando crea un nuevo proyecto y directorio que usa NUnit como biblioteca de pruebas y configura el ejecutor de pruebas agregando los siguientes elementos <PackageReference /> al archivo del proyecto.
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
Desde el terminal, ejecute el comando siguiente:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest (herramienta de pruebas de Microsoft)
Abra la paleta de comandos y seleccione .NET:Nuevo proyecto... y, luego, seleccioneProyecto de prueba de MSTest y proporcione el nombre y la ubicación del nuevo proyecto. Este comando crea un nuevo proyecto y directorio que usa MSTest como biblioteca de pruebas y configura el ejecutor de pruebas agregando los siguientes elementos <PackageReference /> al archivo del proyecto.
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
Desde el terminal, ejecute el comando siguiente:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
Desarrollo de pruebas unitarias en Visual Studio Code con el Chat de GitHub Copilot
La combinación de Visual Studio Code y el Chat de GitHub Copilot proporciona un entorno eficaz para crear y ejecutar pruebas unitarias para los proyectos de C#.
El proceso de prueba unitaria se puede dividir en tres fases:
- Use Visual Studio Code para crear un proyecto de prueba para las pruebas unitarias.
- Use el Chat de GitHub Copilot para desarrollar casos de prueba unitaria para el proyecto de C#.
- Use Visual Studio Code y el kit de desarrollo de C# para ejecutar y administrar las pruebas unitarias.
Creación de un proyecto de prueba
Necesita crear un proyecto de pruebas que será usado para contener sus pruebas unitarias. Puede usar Visual Studio Code para usar las siguientes tareas:
Use la paleta de comandos para crear un proyecto de pruebas que use un marco de pruebas especificado.
Use el Terminal integrado para agregar una referencia al proyecto que está probando.
Este proceso crea un nuevo proyecto y configura el ejecutor de pruebas para el marco seleccionado.
Generación de casos de prueba unitaria mediante el Chat de GitHub Copilot
El Chat de GitHub Copilot se puede usar para ayudarle a escribir casos de prueba unitaria para el marco de pruebas. Copilot Chat reconoce su marco de pruebas y su estilo de codificación y genera los fragmentos de código correspondientes. Puede usar el Chat de Copilot para completar las siguientes tareas:
Escribir casos de prueba unitaria para el marco de pruebas en función del código abierto en el editor o en el fragmento de código que resalte en el editor. Copilot identifica el marco de pruebas y el estilo de codificación, y genera fragmentos de código coincidentes.
Identificar y escribir casos de prueba para casos perimetrales y condiciones de límite que podrían ser difíciles de identificar manualmente. Por ejemplo, Copilot puede sugerir casos de prueba para el control de errores, valores nulos o tipos de entrada inesperados.
Sugerir aserciones que garantizan el correcto funcionamiento de la función, con base en el contexto y la semántica del código. Por ejemplo, genere aserciones para asegurarse de que los parámetros de entrada de función son válidos.
Tenga en cuenta los siguientes escenarios al pedir al Chat de Copilot que genere casos de prueba unitaria:
Si un único método está visible en su totalidad en el editor, puede pedir l Chat de Copilot que genere una prueba unitaria para el método al escribir
Write a unit test for the method in the #editor.Si hay varios métodos visibles o el método previsto se extiende más allá de lo que está visible en el editor, seleccione el código para el que desea generar una prueba unitaria y, después, pida a Copilot:
#selection write a unit test for this code.
Ejecución y administración de pruebas unitarias en Visual Studio Code
Visual Studio Code y el kit de desarrollo de C# proporcionan un amplio conjunto de características que le ayudarán a ejecutar y administrar pruebas unitarias para los proyectos de C#. Puede ejecutar o depurar casos de prueba, ver los resultados de las pruebas y administrar los casos de prueba mediante el Explorador de pruebas.
Ejecutar o depurar casos de prueba: el Kit de desarrollo de C# genera accesos directos (el botón de reproducción verde) en el lado izquierdo de la definición de clase y método. Para ejecutar los casos de prueba de destino, seleccione el botón de reproducción verde. También puede hacer clic con el botón derecho en él para ver más opciones.
Explorador de pruebas: el explorador de pruebas es una vista en árbol que muestra todos los casos de prueba de su área de trabajo. Puede seleccionar el botón de vaso de laboratorio en la barra de actividad del lado izquierdo de Visual Studio Code para abrirlo. También puede ejecutar o depurar los casos de prueba y ver los resultados de las pruebas desde allí.
Ver los resultados de las pruebas: después de ejecutar o depurar los casos de prueba, el estado de los elementos de prueba relacionados se actualiza en las decoraciones del editor y en el Explorador de pruebas. Puede seleccionar los vínculos del seguimiento de la pila para ir a la ubicación de origen.
Comandos de prueba de Visual Studio Code: hay comandos de prueba (por ejemplo, ejecutar todas las pruebas) que se pueden encontrar buscando Prueba: en la paleta de comandos.
Configuración de pruebas de Visual Studio Code: hay opciones de configuración de Visual Studio Code específicas de las pruebas que se pueden encontrar mediante la búsqueda de Pruebas en el editor de configuración.
Resumen
GitHub Copilot Chat puede usarse para sugerir pruebas unitarias basadas en el código que usted especifique. Por ejemplo, si especifica la firma y el cuerpo de un método, GitHub Copilot Chat puede sugerirle casos de prueba que cubran los parámetros de entrada y los valores de salida esperados. Una vez que su proyecto de prueba contenga unos cuantos casos de prueba, puede usar GitHub Copilot para generar sugerencias de finalización de código para casos de prueba adicionales. Usar finalizaciones de líneas de código para generar pruebas unitarias reduce el proceso repetitivo y ayuda a asegurar que su código se prueba a fondo.
GitHub Copilot Chat usa el contexto y la semántica de su código para sugerir aserciones que aseguren que la funcionalidad funciona correctamente. También le ayuda a escribir casos de prueba para casos límite y condiciones límite que podrían ser difíciles de identificar manualmente. Por ejemplo, GitHub Copilot Chat puede sugerir casos de prueba para el control de errores, valores null o tipos de entrada inesperados.