Testando módulos Go aninhados
Executar o teste go pode ser um desafio ao trabalhar com vários módulos Go. A abordagem tradicional de usar go test./... falhará com um erro indicando que não há pacotes correspondentes ou que não há pacotes para testar.
Isso ocorre porque go test foi projetado para funcionar em um único módulo, não em vários. Para testar módulos aninhados, é necessária uma abordagem diferente.
Uma solução envolve o uso de um truque de shell para executar go test em cada módulo individualmente. Por exemplo, você pode usar find para procurar diretórios contendo arquivos go.mod e executar go test em cada um desses diretórios:
find . -type d -name go.mod -exec go test {}
Como alternativa, você pode criar um script auxiliar ou Makefile para iterar pelos diretórios desejados e executar go test adequadamente:
# test.sh
#!/bin/bash
for dir in */; do
if [ -f "$dir/go.mod" ]; then
go test "$dir"
fi
done
Alguns projetos maiores podem manter uma lista de todos os submódulos e utilizar scripts como o do exemplo acima para facilitar os testes.
Ao empregar essas técnicas, você pode executar testes com eficácia em vários módulos aninhados. Acesse os módulos de um diretório pai.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3