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.
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