Como organizar e executar corretamente testes em Go para pacotes em subdiretórios aninhados?
Olá a todos! Estou aprendendo Go e me deparei com um problema ao escrever testes para um projeto que tem uma estrutura com subdiretórios. Meu projeto se parece com isso:
```
myapp/
├── main.go
├── handlers/
│ ├── user.go
│ └── user_test.go
├── models/
│ ├── user.go
│ └── user_test.go
└── utils/
└── helpers.go
```
No arquivo `handlers/user_test.go`, estou tentando importar funções de `utils/helpers.go`, mas ao executar `go test ./...` a partir da raiz do projeto, os testes falham com um erro como "undefined: SomeFunction" ou "package myapp/utils is not in GOROOT".
Se eu executo `go test` de dentro da pasta `handlers/`, os testes funcionam, mas apenas se não houver imports de outros pacotes meus. Eu li que o Go encontra os testes automaticamente, mas não consigo entender como vincular corretamente os testes em subdiretórios com outras partes do projeto.
Alguém pode me explicar como organizar corretamente os testes em subdiretórios? É necessário configurar o go.mod ou os caminhos de import de alguma forma especial? E como executar todos os testes de uma vez para que ele funcione?