Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las pruebas de GitHub Copilot para .NET son una funcionalidad en el chat de Copilot de GitHub que se integra en Visual Studio. Esta característica automatiza la creación, ejecución y prueba del código de C# para proyectos completos, soluciones, archivos, clases o miembros. Está diseñado para desarrolladores de C# que desean arrancar rápidamente una cobertura completa de pruebas sin escribir manualmente cada caso de prueba. Las pruebas de Copilot de GitHub pueden generar pruebas para marcos de pruebas xUnit, NUnit y MSTest.
A diferencia de las solicitudes puntuales en el modo de agente de Copilot, las pruebas de Copilot de GitHub para .NET ofrecen una experiencia guiada y de larga duración diseñada específicamente para la generación de pruebas. Genera resultados deterministas basados en la semántica del compilador y del lenguaje de C#, con reconocimiento profundo de las convenciones de código base, estructura de archivos y pruebas para garantizar pruebas predecibles y adecuadas para el contexto.
Prerrequisitos
- Visual Studio 2026, versión 18.3 o posterior
- Proyecto de C#
- Inicio de sesión en Visual Studio con una cuenta de GitHub con una suscripción de Copilot de pago
Nota:
Las pruebas de GitHub Copilot para .NET requieren una suscripción de pago a GitHub Copilot (individual, empresarial o de empresa). No se admiten suscripciones gratuitas de Copilot.
¿Por qué usar pruebas de Copilot de GitHub para .NET?
Las pruebas de Copilot de GitHub para .NET ofrecen una experiencia completa en comparación con las funcionalidades más generales de Copilot relacionadas con la generación de pruebas. La funcionalidad de pruebas unitarias en GitHub Copilot para .NET proporciona lo siguiente:
- Eficacia: Genere, compile y ejecute automáticamente pruebas unitarias de C# para proyectos o soluciones grandes o pequeños.
- Consistencia: Asegúrese de que las pruebas siguen los procedimientos recomendados y los estándares del proyecto. Las pruebas se crean en un proyecto de prueba independiente de la solución y se generan mediante los marcos xUnit, NUnit y MSTest. Si la solución ya tiene pruebas unitarias en NUnit o xUnit, las pruebas de Copilot de GitHub para .NET generan nuevas pruebas en el mismo marco de pruebas unitarias. Si no hay pruebas unitarias en la solución, se generan nuevas pruebas mediante MSTest.
- Integración: Funciona perfectamente en Visual Studio, aprovechando las funcionalidades de inteligencia artificial de Copilot.
- Previsibilidad: Copilot está generando pruebas deterministamente, basadas en la semántica del compilador y del lenguaje de C#, por lo que las aserciones y los casos perimetrales son predecibles y seguros para tipos.
Características clave
- Generación automatizada de pruebas a escala: Cree pruebas para archivos únicos, varios archivos en un solo proyecto o soluciones completas.
-
Interacción basada en comandos: Use los comandos y parámetros admitidos (enumerados en el
/helpmensaje dentro de las pruebas de Copilot de GitHub). -
Indicaciones flexibles: Usa la sintaxis estructurada
@Test #<target>para apuntar a un código específico, o utiliza indicaciones de lenguaje natural en formato libre para describir lo que quieres probar.
Qué pueden hacer las pruebas de Copilot de GitHub
Al habilitar esta funcionalidad, las pruebas de GitHub Copilot interactúan con la solución de varias maneras de generar y validar pruebas:
- Leer: Copilot analiza el código fuente y la estructura del proyecto para comprender el contexto y las dependencias.
- Escribir: Crea o actualiza archivos de prueba dentro de la solución según sus sugerencias.
- Construir: La herramienta desencadena compilaciones para compilar el código y comprobar que las pruebas generadas se integran correctamente.
- Ejecutar: Ejecuta pruebas para confirmar su éxito y proporcionar comentarios sobre la cobertura y la calidad.
Importante
Las pruebas de Copilot no modifican el código de producción fuera del proceso de generación de pruebas. Todos los cambios se producen en el entorno de desarrollo local y conserva el control total para revisar, aceptar o descartar sugerencias.
Acciones realizadas por el @Test agente
El @Test agente realiza varias acciones durante la generación de pruebas. Comprender estas acciones le ayuda a saber qué esperar al usar la herramienta.
Operaciones de compilación y prueba
El agente usa las API de Visual Studio (no herramientas de línea de comandos como dotnet restore o dotnet test) para realizar las siguientes operaciones:
- Restaurar y compilar: restaura paquetes y compila proyectos basados en el ámbito (desde un único proyecto hasta toda la solución).
- Ejecutar pruebas: principalmente ejecuta solo las pruebas generadas. Sin embargo, para calcular la cobertura de código inicial y resultante (y para el modo de optimización de cobertura), el agente ejecuta todas las pruebas dentro del ámbito especificado.
-
Proceso git diff: al usar el modo de diferencia (
#git_changes), el agente analiza los cambios no confirmados para generar pruebas dirigidas.
Instalación del paquete
El agente instala paquetes NuGet según sea necesario:
- Paquetes de marco de prueba (MSTest, NUnit o xUnit)
- Paquetes de marcos de prueba simulados si no están presentes ya
- Cobertura y extensiones TRX para la Plataforma de pruebas de Microsoft (MTP) si no está presente
Operaciones de LLM
El agente realiza llamadas LLM para:
- Análisis de indicaciones de forma libre
- Procesamiento de resumen
- Generación de pruebas
Modificaciones de proyecto y archivo
El agente crea un proyecto de prueba si no existe para el código de destino.
El agente usa un sistema de archivos personalizado con las siguientes garantías:
- Ámbito: el agente nunca lee o escribe archivos fuera de la raíz del repositorio (excepto los registros).
- Preferencia de solo lectura: siempre que sea posible, el agente usa un sistema de archivos de solo lectura que impide acciones de escritura.
El agente puede escribir en los siguientes archivos:
- Probar archivos de proyecto
- Archivos de proyecto de origen (por ejemplo, agregar
InternalsVisibleToatributos) - Archivos de solución (indirectamente a través de las API de Visual Studio, como al agregar un proyecto)
- Probar archivos de origen
Consideraciones de seguridad
Al ejecutar por primera vez las pruebas de GitHub Copilot para .NET, Copilot solicita su consentimiento para ejecutar código generado por LLM en el equipo. Esto puede incluir acciones como instalar o restaurar paquetes NuGet y ejecutar pruebas. Si no concede consentimiento general, las pruebas de Copilot de GitHub le pedirán aprobación explícita antes de realizar dicha operación.
Precaución
El consentimiento concede a Copilot la capacidad de invocar de forma silenciosa comandos arbitrarios dentro de la sesión de Visual Studio. Microsoft no puede garantizar la seguridad de estos comandos. Solo debe habilitar este interruptor dentro de un entorno de espacio aislado y debe tomar medidas para limitar los privilegios disponibles para ese entorno. Por ejemplo, el entorno de espacio aislado no debe usar una cuenta conectada a la nube para iniciar sesión en Windows y el entorno de espacio aislado no debe iniciar sesión en Visual Studio con una cuenta de GitHub con privilegios que tenga acceso de lectura a repositorios no públicos ni acceso de escritura a repositorios de producción.
Pasos siguientes
Consulte Generación y ejecución de pruebas mediante pruebas de Copilot de GitHub para .NET en Visual Studio.