Wiederverwendung von Testcode in importierten Paketen
Bei der Verwaltung einer komplexen Codebasis ist die Fähigkeit zur Wiederverwendung von Testcode für effiziente und wartbare Testpraktiken von entscheidender Bedeutung . In diesem Artikel wird eine häufige Herausforderung untersucht, mit der Entwickler konfrontiert sind: die Wiederverwendung von Testcode aus einem importierten Paket.
Stellen Sie sich das folgende Szenario vor: Ein Projekt hat die folgende Verzeichnisstruktur:
/ |-- main.go |-- main_test.go |-- pkg1 |-- pkg1_test.go
main.go-Importe pkg1 und enthält Code, der auf nicht exportierten Funktionen in pkg1 basiert. pkg1_test.go enthält eine Dienstprogrammfunktion, verifyTaskNumber, die eine interne Funktion in pkg1 aufruft. main_test.go muss jedoch „VerifyTaskNumber“ in seinen eigenen Tests verwenden.
Um dieses Problem zu beheben, werden zwei mögliche Lösungen vorgeschlagen:
Keine Lösung bietet einen nahtlosen und effizienten Ansatz zur Wiederverwendung von Testcode. Eine alternative Lösung besteht darin, verifyTaskNumber in ein Utils-Paket zu verschieben, das sowohl in main_test.go als auch in pkg1_test.go importiert wird. Um der Abhängigkeit von nicht exportierten Funktionen in pkg1 Rechnung zu tragen, können die Ergebnisse der internen Funktion in einer Supportdatei gespeichert und vom Paket utils geladen werden. Dadurch wird die Abhängigkeit von der nicht exportierten Funktion vermieden und gleichzeitig der Zugriff auf das Testdienstprogramm in mehreren Testpaketen ermöglicht.
Das obige ist der detaillierte Inhalt vonWie können wir Testcode aus importierten Paketen in Go wiederverwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!