Extensión de pruebas con texto fantasma y corrección de pruebas con errores

Completado

Después de que el proyecto de prueba contenga algunos casos de prueba, GitHub Copilot puede ayudarle a ampliar la cobertura y resolver los errores sin salir de Visual Studio Code. Las sugerencias de texto fantasma agregan casos de prueba adicionales dentro del archivo que está editando, mientras que el Explorador de pruebas y el /fixTestFailure comando de barra diagonal le ayudan a diagnosticar y corregir las pruebas con errores. Juntas, estas características cierran el bucle en el flujo de trabajo de pruebas unitarias que inició en la vista Chat.

Ampliar la cobertura de pruebas con sugerencias de texto fantasma

El texto fantasma es la finalización del código insertado que aparece mientras escribe en el editor. Cuando un archivo de prueba ya contiene algunos casos de prueba, GitHub Copilot usa los patrones existentes para sugerir casos de prueba similares para escenarios adicionales. Esta es la forma más rápida de ampliar la cobertura una vez que las pruebas iniciales ya están preparadas.

Para ampliar un archivo de prueba con texto fantasma:

  1. Abra un archivo de prueba que contenga al menos uno o dos casos de prueba completos.

  2. Coloque el cursor al final del último caso de prueba y presione Entrar para iniciar una nueva línea.

  3. Comience a escribir un nuevo método de prueba o escriba un comentario descriptivo como // Test that ProcessOrder throws when the order total is negative.

    GitHub Copilot muestra una sugerencia de texto fantasma que completa el método de prueba en función del código circundante, las importaciones y los patrones de prueba existentes.

  4. Presione Tab para aceptar la sugerencia o presione Esc para descartarla.

  5. Refina la sugerencia aceptada según sea necesario. Puede seguir escribiendo para ampliar la prueba o puede desencadenar la siguiente sugerencia de texto fantasma presionando Entrar.

El texto fantasma funciona mejor cuando:

  • El archivo de prueba ya muestra el patrón que desea GitHub Copilot seguir (por ejemplo, Arrange-Act-Assert structure o un atributo de prueba con parámetros).
  • Se hace referencia al método sometido a prueba en el archivo mediante una using directiva o un espacio de nombres importado.
  • El comentario indica claramente el escenario que desea probar.

Tip

Use texto fantasma para agregar casos perimetrales a una clase de prueba existente rápidamente. Para un trabajo más sustancial, como crear una clase de prueba completamente nueva, vuelva a la vista Chat y use los agentes Ask, Plan o Agent.

Corrección de pruebas con errores desde el Explorador de pruebas

Cuando se produce un error en una prueba, el Explorador de pruebas proporciona un punto de entrada con un solo clic en GitHub Copilot.

  1. Ejecute las pruebas desde el Explorador de pruebas o desde el botón de reproducción verde situado junto a un método de prueba.

  2. En el Explorador de pruebas, mantenga el puntero sobre una prueba con error.

  3. Seleccione el botón Corregir error de prueba (icono de sparkle).

    GitHub Copilot abre una sesión de chat, adjunta la prueba con errores y su salida como contexto y propone una corrección.

  4. Revise la corrección propuesta.

    La sugerencia puede actualizar el código de la aplicación, el código de prueba o ambos, en función de la causa del error.

  5. Aplique o descarte la sugerencia.

    Use Conservar para aplicar los cambios sugeridos o use Deshacer para descartarlos. Vuelva a ejecutar la prueba para confirmar la corrección.

Corrige las pruebas que fallan con /fixTestFailure

También puede iniciar el flujo de trabajo de corrección desde la vista Chat, que es útil cuando desea adjuntar contexto adicional o cuando esté trabajando en varias pruebas con errores a la vez.

  1. Abra la vista Chat.

  2. Escriba el comando de barra oblicua /fixTestFailure.

  3. Opcionalmente, adjunte contexto adicional, como archivos de origen relacionados o salida de terminal reciente.

  4. Siga las sugerencias de GitHub Copilot para corregir la prueba con errores y vuelva a ejecutar la prueba para confirmar la corrección.

Permitir que el agente supervise y corrija los errores automáticamente

Cuando se usa el Agente para ejecutar pruebas, supervisa la salida de la prueba, identifica los errores e intenta corregir y volver a ejecutar las pruebas automáticamente. Esto resulta útil cuando se crea la estructura inicial de un nuevo proyecto de pruebas o se realizan cambios importantes que afectan a muchas pruebas de una sola vez.

Para usar el Agente para el mantenimiento automático de pruebas:

  1. Abra la vista Chat y seleccione Agente en el selector de agentes.

  2. Proporcione un mensaje que incluya la ejecución de las pruebas, como: Run the xUnit tests in the Calculator.Tests project. If any tests fail, propose and apply fixes, then rerun the tests until they pass.

  3. Confirme o rechace las invocaciones de herramientas y los comandos de terminal que sugiere el Agente.

  4. Revise los cambios aplicados por el Agente antes de aceptarlos.

Elección de la herramienta adecuada para el trabajo

Use las instrucciones siguientes para decidir qué característica usar:

  • El texto fantasma es mejor cuando desea agregar más casos de prueba a un archivo de prueba existente que ya muestra el patrón.
  • Corregir error en la prueba en el Explorador de pruebas es la mejor opción cuando falla una sola prueba y desea una corrección rápida y específica.
  • /fixTestFailure en la vista de chat es mejor cuando se desea adjuntar contexto adicional o resolver varios fallos.
  • Ejecuciones de pruebas controladas poragentes son las mejores cuando desea GitHub Copilot ejecutar pruebas, diagnosticar errores y aplicar correcciones en varios archivos en una sesión.

Juntas, estas herramientas completan el flujo de trabajo de pruebas unitarias. La vista de chat, el agente Plan y Agent generan las pruebas iniciales; el texto fantasma añade cobertura adicional; y las funciones de corrección de fallos en las pruebas mantienen la batería de pruebas sin fallos a medida que tu código evoluciona.