"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 medir la cobertura de las pruebas de integración de Go?

¿Cómo medir la cobertura de las pruebas de integración de Go?

Publicado el 2024-11-16
Navegar:349

How to Measure Test Coverage for Go Integration Tests?

Determinación de la cobertura de las pruebas en las pruebas de integración de Go

Las pruebas de integración tienen como objetivo evaluar la funcionalidad de un sistema en su conjunto, a menudo mediante burla o control dependencias externas. Sin embargo, determinar la cobertura de las pruebas de integración plantea desafíos únicos.

Medición de la cobertura en pruebas fuera del paquete

En el escenario descrito, las pruebas están separadas de los paquetes ellos prueban. En consecuencia, el comando go test -cover informa una cobertura del 0%. Para solucionar esto, se puede utilizar la directiva -coverpkg.

Uso de -coverpkg para cobertura de paquete específico

La directiva -coverpkg permite medir la cobertura de prueba en un área específica paquete, incluso si las pruebas son externas. Toma la ruta del paquete como argumento.

Por ejemplo, el siguiente comando mide la cobertura del paquete mypackage:

$ go test -cover -coverpkg mypackage ./src/api/...

Este enfoque permite el análisis específico de la cobertura del paquete en pruebas de integración.

Ejemplo de cobertura Salida

Considere un ejemplo donde el paquete api contiene pruebas en main_test.go. La mayor parte de la lógica empresarial reside en el paquete mypackage. La ejecución del comando con -coverpkg proporciona una representación más precisa de la cobertura:

$ go test -cover -coverpkg mypackage ./src/api/...
ok      /api    0.190s  coverage: 50.8% of statements in mypackage
ok      /api/mypackage   0.022s  coverage: 0.7% of statements in mypackage

Este resultado muestra que las pruebas cubren el 50,8% de las declaraciones en el paquete mypackage. Por el contrario, sin usar -coverpkg, la cobertura parecería mayor, 71,0 %, lo que se debe a pruebas fuera del paquete especificado.

Consideraciones adicionales

Vale la pena teniendo en cuenta que las pruebas de integración generalmente cubren menos código que las pruebas unitarias debido a la complejidad de las burlas y la naturaleza de las pruebas en todo el sistema. Sin embargo, el enfoque descrito anteriormente proporciona una manera de medir la cobertura real de las pruebas de integración específicamente para paquetes relevantes.

Ú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