Testen der Abdeckung in getrennten Testpaketen
Wenn Testdateien aus organisatorischen Gründen in verschiedene Pakete aufgeteilt werden, können Abdeckungsstatistiken für den Zielcode abgerufen werden zur Herausforderung werden. In dieser Frage wird eine Problemumgehung für dieses Szenario untersucht, in dem sich das Testpaket in api_client_tests und der Code in api_client befindet.
Die Frage:
Wie können Abdeckungsstatistiken genau sein? für das zu testende api_client-Paket erhalten, wenn sich die zugehörigen Tests in einem separaten Paket befinden?
Die Lösung:
Die bereitgestellte Lösung beinhaltet die Verwendung des Befehls go test mit dem -cover- und -coverpkg-Flags. Durch Angabe des api_client-Pakets als Ziel für die Abdeckung mithilfe des Flags -coverpkg:
go test -cover -coverpkg "api_client" "api_client_tests"
Die Abdeckungsstatistiken werden speziell für den Code im api_client-Paket generiert, auch wenn sich die Tests extern in api_client_tests befinden.
Alternative Ansätze:
Obwohl die oben beschriebene Methode eine praktikable Lösung ist, weicht sie von der typischen Go-Konvention ab, Testdateien im selben Paket wie den Code, den sie enthalten, aufzubewahren prüfen. Dies kann zu Schwierigkeiten beim Debuggen und bei der Zusammenarbeit führen.
Ein alternativer Ansatz, wie in den Kommentaren erwähnt, besteht darin, die Testdateien einfach in dasselbe Paket wie den zu testenden Code zu verschieben. Dadurch wird sichergestellt, dass der gesamte Code, der sich auf eine bestimmte Funktion oder Komponente bezieht, zur einfacheren Wartung gruppiert wird.
Das obige ist der detaillierte Inhalt vonWie erhalte ich genaue Abdeckungsstatistiken für ein Paket, wenn Tests in einem separaten Paket enthalten sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!