Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich genaue Abdeckungsstatistiken für ein Paket, wenn Tests in einem separaten Paket enthalten sind?

Wie erhalte ich genaue Abdeckungsstatistiken für ein Paket, wenn Tests in einem separaten Paket enthalten sind?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 20:39:30792Durchsuche

How to Obtain Accurate Coverage Stats for a Package When Tests Are in a Separate Package?

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!

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