Maison > développement back-end > Golang > Comment tester les modules Go imbriqués à partir du répertoire parent ?

Comment tester les modules Go imbriqués à partir du répertoire parent ?

Mary-Kate Olsen
Libérer: 2024-10-28 20:11:02
original
587 Les gens l'ont consulté

How to Test Nested Go Modules from the Parent Directory?

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
Copier après la connexion

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>
Copier après la connexion

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!

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