Examen de las herramientas y el entorno de pruebas unitarias
GitHub Copilot Chat se puede usar para sugerir pruebas unitarias basadas en el código que especifique. Por ejemplo, si especifica una firma de método y un cuerpo, GitHub Copilot Chat puede sugerir casos de prueba que cubran los parámetros de entrada y los valores de salida esperados. Una vez que el proyecto de prueba contiene algunos 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 del código para sugerir aserciones que garantizan que la función 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.
GitHub Copilot soporte para pruebas unitarias
GitHub 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 Visual Studio 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 GitHub 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, GitHub Copilot puede ayudar a configurar el marco de pruebas y Visual Studio Code extensiones para el proyecto. GitHub 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 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 para generar pruebas unitarias para un proyecto, una clase o un método mediante Ask, Plan 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
GitHub 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 GitHub Copilot.
Alternativamente, puede:
Abra la vista Chat.
Escriba el comando de barra oblicua
/fixTestFailure.Siga las sugerencias de GitHub Copilot para corregir la prueba
Sugerencia
Al usar el agente, el 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 GitHub Copilot genera pruebas para asegurarse de que cumplen los estándares. Puede personalizar cómo GitHub 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
Visual Studio Code soporte para pruebas unitarias
Para crear y ejecutar pruebas unitarias de C# en Visual Studio Code, necesita los siguientes recursos:
- El 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 kit de desarrollo de C# para Visual Studio Code proporciona un amplio conjunto de características que le ayudarán a crear y administrar pruebas unitarias para los 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 manera más fácil de habilitar un marco de pruebas para el proyecto. Puede abrir la paleta de comandos de las siguientes formas:
- Presione las teclas Ctrl + Shift + P (Windows/Linux) o Cmd + Shift + P (macOS).
- Abra el menú Vista y después seleccione Paleta de comandos.
- Abra la vista Explorador de soluciones, haga clic con el botón derecho en la carpeta de la solución y seleccione Nuevo Project. Esta opción abre la paleta de comandos con el .NET:New Project... comando 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 Project... seleccione xUnit Test Project y proporcione el nombre y la ubicación del nuevo project. 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 Project... seleccione NUnit3 Test Project proporcione el nombre y la ubicación del nuevo project. 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 Project... seleccione MSTest Test Project y proporcione el nombre y la ubicación del nuevo project. 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 gitHub Copilot Chat
La combinación de Visual Studio Code y GitHub Copilot Chat 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 GitHub Copilot Chat 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 completar 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 gitHub Copilot Chat
GitHub Copilot Chat se puede usar para ayudarle a escribir casos de prueba unitaria para el marco de pruebas. GitHub Copilot Chat reconoce el marco de pruebas y el estilo de codificación y genera fragmentos de código coincidentes. Puede usar gitHub Copilot Chat 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. GitHub 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, GitHub Copilot pueden sugerir casos de prueba para el control de errores, valores NULL 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 escenarios siguientes al pedir a GitHub Copilot Chat generar casos de prueba unitaria:
Si un único método está visible en su totalidad en el editor, puede pedir a GitHub Copilot Chat que genere una prueba unitaria para el método escribiendo
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, a continuación, pregunte GitHub Copilot:
#selection write a unit test for the selected 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.
Visual Studio Code, comandos de prueba: hay comandos de prueba (por ejemplo, Ejecutar todas las pruebas) que se pueden encontrar buscando Test: en la Paleta de Comandos.
Visual Studio Code Configuración de Pruebas: Hay configuraciones específicas de pruebas de Visual Studio Code que se pueden encontrar buscando "Pruebas" en el editor de configuración.
Resumen
GitHub Copilot Chat se puede usar para sugerir pruebas unitarias basadas en el código que especifique. Por ejemplo, si especifica una firma de método y un cuerpo, GitHub Copilot Chat puede sugerir casos de prueba que cubran los parámetros de entrada y los valores de salida esperados. Una vez que el proyecto de prueba contiene algunos 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 del código para sugerir aserciones que garantizan que la función 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.