Maison > développement back-end > Golang > Comment exécuter « go test » dans le répertoire parent de plusieurs modules Go ?

Comment exécuter « go test » dans le répertoire parent de plusieurs modules Go ?

Barbara Streisand
Libérer: 2024-10-29 03:09:29
original
388 Les gens l'ont consulté

How to Run `go test` in the Parent Directory of Multiple Go Modules?

Exécution du test Go dans le répertoire parent de plusieurs modules Go

Lorsque vous rencontrez une structure de répertoires avec plusieurs modules Go situés dans des sous-répertoires, exécutez le test Go à partir du répertoire parent peut poser un défi. L'extrait de code suivant illustre ce problème :

/root
    /one
        go.mod
        go.sum
        main.go
        main_test.go
    /two
        go.mod
        go.sum
        main.go
        main_test.go
Copier après la connexion

L'exécution de go test./... à partir du répertoire racine entraînera l'erreur :

go: warning: "./..." matched no packages
no packages to test
Copier après la connexion

Cela se produit car go test est spécifiquement conçu pour fonctionner sur un seul module situé soit dans le répertoire courant, soit dans son parent. Il ne prend pas en charge les modules imbriqués ni l'exécution de tests à partir d'un répertoire parent de plusieurs modules.

Pour résoudre ce problème, une solution consiste à créer un script shell ou à utiliser un utilitaire tel que find pour accéder à chaque module individuel et exécuter go tester dans ces répertoires. Par exemple :

cd /root/one
go test .
cd /root/two
go test .
Copier après la connexion

Alternativement, certains projets peuvent utiliser un script Makefile ou test.sh pour automatiser ce processus. Par exemple, le script test.sh du projet hypothétique suivant parcourt une liste de modules et exécute go test pour chaque répertoire :

#!/bin/bash

modules="one two three"

for module in $modules; do
    cd $module
    go test .
    cd ..
done
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal