Testen verschachtelter Go-Module
Das Ausführen von Go-Tests kann eine Herausforderung sein, wenn mit mehreren Go-Modulen gearbeitet wird. Der herkömmliche Ansatz der Verwendung von go test./... schlägt mit einer Fehlermeldung fehl, die darauf hinweist, dass keine passenden Pakete oder keine zu testenden Pakete vorhanden sind.
Dies liegt daran, dass go test für die Arbeit mit einem einzelnen Modul und nicht mit mehreren Modulen konzipiert ist. Um verschachtelte Module zu testen, ist ein anderer Ansatz erforderlich.
Eine Lösung besteht darin, einen Shell-Trick zu verwenden, um go test in jedem Modul einzeln auszuführen. Sie könnten beispielsweise find verwenden, um nach Verzeichnissen zu suchen, die go.mod-Dateien enthalten, und go test in jedem dieser Verzeichnisse ausführen:
find . -type d -name go.mod -exec go test {}
Alternativ können Sie ein Hilfsskript oder Makefile erstellen, um die gewünschten Verzeichnisse zu durchlaufen und go test entsprechend auszuführen:
# test.sh
#!/bin/bash
for dir in */; do
if [ -f "$dir/go.mod" ]; then
go test "$dir"
fi
done
Einige größere Projekte verwalten möglicherweise eine Liste aller Submodule und verwenden Skripte wie das im obigen Beispiel, um das Testen zu erleichtern.
Durch den Einsatz dieser Techniken können Sie Tests effektiv über mehrere verschachtelte Module hinweg ausführen Go-Module aus einem übergeordneten Verzeichnis.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3