¿Cómo organizar y ejecutar correctamente pruebas en Go para paquetes en subdirectorios anidados?
¡Hola a todos! Estoy aprendiendo Go y me encontré con un problema al escribir pruebas para un proyecto que tiene una estructura con subdirectorios. Mi proyecto se ve así:
```
myapp/
├── main.go
├── handlers/
│ ├── user.go
│ └── user_test.go
├── models/
│ ├── user.go
│ └── user_test.go
└── utils/
└── helpers.go
```
En el archivo `handlers/user_test.go` intento importar funciones de `utils/helpers.go`, pero al ejecutar `go test ./...` desde la raíz del proyecto, las pruebas fallan con un error como "undefined: SomeFunction" o "package myapp/utils is not in GOROOT".
Si ejecuto `go test` desde dentro de la carpeta `handlers/`, las pruebas funcionan, pero solo si no tienen imports de otros paquetes míos. He leído que Go encuentra las pruebas automáticamente, pero no logro entender cómo vincular correctamente las pruebas en subdirectorios con otras partes del proyecto.
Por favor, indíquenme cómo organizar correctamente las pruebas en subdirectorios. ¿Es necesario configurar de alguna manera especial el go.mod o las rutas de import? ¿Y cómo ejecutar todas las pruebas a la vez para que funcione?