"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Aqui estão algumas opções de título, tendo em mente o formato da pergunta e o foco do artigo no teste de módulos Go aninhados: Opção 1 (direto e conciso): Como você testa módulos Go aninhados de maneira eficaz?

Aqui estão algumas opções de título, tendo em mente o formato da pergunta e o foco do artigo no teste de módulos Go aninhados: Opção 1 (direto e conciso): Como você testa módulos Go aninhados de maneira eficaz?

Publicado em 2024-11-05
Navegar:759

Here are a few title options, keeping in mind the question format and the article\'s focus on testing nested Go modules:

Option 1 (Direct and Concise): 
How do you test nested Go modules effectively?

Option 2 (Highlighting the Challenge): 
Why does `go

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.

Tutorial mais recente Mais>

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