„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die Codeabdeckung von Integrationstests für eine Go-Binärdatei erfassen?

Wie kann ich die Codeabdeckung von Integrationstests für eine Go-Binärdatei erfassen?

Veröffentlicht am 18.11.2024
Durchsuche:137

How Can I Capture Code Coverage from Integration Tests Against a Go Binary?

Erfassen der Codeabdeckung aus einer Go-Binärdatei

Beim Ausführen von Komponententests ist das Erfassen der Codeabdeckung unkompliziert. Allerdings kann sich das Sammeln von Abdeckungsmetriken während der Integrationstests für die Binärdatei selbst als schwierig erweisen. Gibt es eine Möglichkeit, diese Hürde zu überwinden?

Der Bedarf an Integrationstestabdeckung

Integrationstests bieten einen umfassenderen Überblick über die Codeabdeckung als Unit-Tests allein. Indem wir die Binärdatei mit realen Eingaben vergleichen, können wir beurteilen, wie sich unser Code unter verschiedenen Bedingungen verhält.

Die Herausforderung

Das Go-Coverage-Tool funktioniert nur in Verbindung mit das Testpaket. Dies stellt ein Problem für Integrationstests dar, die normalerweise nicht in dieses Framework passen.

Die Lösung: Integrationstests im Testing Framework von Go

Um die Abdeckung von Integrationstests zu erfassen , wir müssen sie irgendwie in das Testpaket integrieren.

  1. Erstellen Sie eine Testdatei: Erstellen Sie eine Testdatei, die Ihre main()-Funktion in einer Goroutine ausführt.
func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}
  1. Integrationstests ausführen: Verwenden Sie exec.Cmd, um Ihre Integrationstests außerhalb der zuvor erstellten Goroutine auszuführen.
  2. Abdeckungsstatistiken sammeln: Sammeln Sie abschließend die Abdeckungsstatistiken mit dem Abdeckungstool.

Andere Ressourcen

Eine frühere Diskussion zu diesem Thema finden Sie im Artikel „Go-Abdeckung“. mit externen Tests“, das einen vergleichbaren Ansatz untersucht.

Neuestes Tutorial Mehr>

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