Heim  >  Artikel  >  Backend-Entwicklung  >  Wie teste ich verschachtelte Go-Module aus dem übergeordneten Verzeichnis?

Wie teste ich verschachtelte Go-Module aus dem übergeordneten Verzeichnis?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 20:11:02493Durchsuche

How to Test Nested Go Modules from the Parent Directory?

Testen verschachtelter Go-Module aus dem übergeordneten Verzeichnis

Das Test-Framework von Go, go test, ist für die Arbeit innerhalb eines einzelnen Go-Moduls konzipiert. Wenn Sie auf eine Ordnerstruktur wie die beschriebene stoßen, in der sich mehrere Go-Module in verschachtelten Unterverzeichnissen befinden, ist die Ausführung von go test aus dem Stammverzeichnis nicht erfolgreich.

Die aufgetretene Fehlermeldung „Keine Pakete zum Testen“ weist darauf hin go test konnte keine testbaren Pakete im aktuellen Verzeichnis oder seinem übergeordneten Verzeichnis finden. Dies liegt daran, dass go test erwartet, dass es mit einem einzelnen Modul funktioniert, das im aktuellen Verzeichnis oder seinem unmittelbar übergeordneten Verzeichnis verwurzelt ist.

Leider unterstützt go test derzeit nicht das direkte Testen verschachtelter Module. Um Tests in mehreren Unterverzeichnissen auszuführen, müssen Sie entweder ein Shell-Skript oder ein Makefile verwenden, um go test einzeln in jedem Unterverzeichnis auszuführen.

Zum Beispiel könnte ein Makefile verwendet werden, um die Unterverzeichnisse in einer Schleife zu durchlaufen, invoke Machen Sie einen Test und aggregieren Sie die Ergebnisse:

all-tests:
    for dir in one two; do \
        make -C $$(cd $$dir && pwd) test; \
    done

Alternativ könnte ein Shell-Skript geschrieben werden, um dieselbe Aufgabe auszuführen:

<code class="sh">#!/bin/sh
for dir in one two; do
    (
        cd "$dir"
        go test
    )
done</code>

In großen Projekten mit mehreren Modulen ein dedizierter Test Ein Skript oder ein Makefile wird oft verwendet, um den Testprozess zu automatisieren, wie im Beispiel in der Originalantwort zu sehen ist. Diese Skripte durchlaufen normalerweise eine Liste von Modulen und führen einen Go-Test für jedes Verzeichnis aus.

Das obige ist der detaillierte Inhalt vonWie teste ich verschachtelte Go-Module aus dem übergeordneten Verzeichnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn