Avatar ·

Nombres correctos de paquetes para testing en Go (unit-testing)

¡Hola, colegas! Soy nuevo en Go y estoy tratando de entender cómo nombrar correctamente los paquetes para los tests. Tengo un proyecto con esta estructura: ``` myapp/ ├── internal/ │ ├── calculator/ │ │ ├── calc.go │ │ └── calc_test.go │ └── validator/ │ ├── valid.go │ └── valid_test.go ├── cmd/ │ └── main.go └── go.mod ``` Dentro de `calc.go` tengo declarado el paquete `package calculator`. En `calc_test.go` también escribí `package calculator`, y los tests funcionan. Pero he visto que algunos desarrolladores usan `package calculator_test` para los archivos de test. ¿Cuál es la diferencia? ¿Cuándo se debe usar `_test` en el nombre del paquete y cuándo no? Me confunde que al usar `package calculator_test` no puedo acceder a funciones y variables no exportadas desde el test.