Tests unitarios
gtool unit ejecuta los tests unitarios de un servicio en Go:
- Genera con mockgen los mocks declarados en
build-config.yml. - Ejecuta la suite de tests unitarios de forma recursiva con Ginkgo, generando un
perfil de cobertura y un reporte JUnit en
./coverage.
Declaración de mocks
Cada archivo de interfaz source se convierte en un mock llamado filename dentro
de la carpeta mocks, en el paquete mocks.
Las fuentes que están fuera del servicio pueden vivir en una dependencia del módulo. Estos placeholders se expanden a rutas de la caché de módulos de Go:
| Placeholder | Se expande a |
|---|---|
<LIB-ROOT> |
la raíz de la caché de módulos (go env GOMODCACHE) |
<MOD:nombre> |
el directorio del módulo de la lista de build cuya ruta es nombre o termina en /nombre, p. ej. <MOD:shared-lib>/publisher.go o <MOD:example.com/acme/shared-lib>/publisher.go |
gtool unit necesita acceso a la red la primera vez: ejecuta go mod download e
instala con go install las herramientas fijadas que se indican abajo.
Herramientas con versión fijada
mockgen (go.uber.org/mock/mockgen@v0.3.0) y la CLI de Ginkgo
(github.com/onsi/ginkgo/v2/ginkgo@v2.2.0) tienen la versión fijada para que los
mocks generados y los flags de Ginkgo sean idénticos en todas las máquinas.