"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo capturar la cobertura del código de las pruebas de integración con un Go Binary?

¿Cómo puedo capturar la cobertura del código de las pruebas de integración con un Go Binary?

Publicado el 2024-11-18
Navegar:585

How Can I Capture Code Coverage from Integration Tests Against a Go Binary?

Captura de cobertura de código desde un Go Binary

Al ejecutar pruebas unitarias, capturar cobertura de código es sencillo. Sin embargo, recopilar métricas de cobertura durante las pruebas de integración contra el propio binario puede resultar un desafío. ¿Hay alguna manera de superar este obstáculo?

La necesidad de cobertura de pruebas de integración

Las pruebas de integración brindan una visión más completa de la cobertura del código que las pruebas unitarias por sí solas. Al ejecutar el binario con entradas del mundo real, podemos evaluar cómo se comporta nuestro código en diversas condiciones.

El desafío

La herramienta de cobertura Go solo funciona junto con el paquete de pruebas. Esto plantea un problema para las pruebas de integración que normalmente no encajan en este marco.

La solución: pruebas de integración en el marco de pruebas de Go

Para capturar la cobertura de las pruebas de integración , necesitamos integrarlos en el paquete de prueba de alguna manera.

  1. Crear un archivo de prueba: Cree un archivo de prueba que ejecute su función main() en una rutina.
func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}
  1. Ejecutar pruebas de integración: Utilice exec.Cmd para ejecutar sus pruebas de integración fuera de la rutina creada anteriormente.
  2. Recopilar estadísticas de cobertura: Finalmente, recopile las estadísticas de cobertura utilizando la herramienta de cobertura.

Otros recursos

Para una discusión previa sobre este tema, consulte el artículo "Ir a cobertura con pruebas externas", que explora un enfoque comparable.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3