Test des modules Go imbriqués à partir du répertoire parent
Le cadre de test de Go, go test, est conçu pour fonctionner au sein d'un seul module Go. Lorsque vous rencontrez une structure de dossiers comme celle décrite, où plusieurs modules Go résident dans des sous-répertoires imbriqués, l'exécution de go test à partir du répertoire racine échouera.
Le message d'erreur rencontré, "aucun package à tester", indique que go test n'a pas réussi à trouver de packages testables dans le répertoire actuel ou son parent. En effet, go test s'attend à fonctionner sur un seul module enraciné dans le répertoire courant ou son parent immédiat.
Malheureusement, go test ne prend actuellement pas en charge le test direct des modules imbriqués. Pour exécuter des tests dans plusieurs sous-répertoires, vous devrez utiliser un script shell ou un Makefile pour exécuter go test individuellement dans chaque sous-répertoire.
Par exemple, un Makefile pourrait être utilisé pour parcourir les sous-répertoires, invoquer allez tester et agréger les résultats :
all-tests: for dir in one two; do \ make -C $$(cd $$dir && pwd) test; \ done
Alternativement, un script shell pourrait être écrit pour effectuer la même tâche :
<code class="sh">#!/bin/sh for dir in one two; do ( cd "$dir" go test ) done</code>
Dans les grands projets avec plusieurs modules, un test dédié Un script ou un Makefile est souvent utilisé pour automatiser le processus de test, comme le montre l'exemple fourni dans la réponse originale. Ces scripts parcourent généralement une liste de modules et exécutent go test pour chaque répertoire.
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!