Wie kann ich Code Coverage-Daten von Python BDD-Funktionstests mit Behave erhalten?

9

Ich habe keine Antwort auf diese spezielle Frage gefunden ( Tool zur Testabdeckung für Behave Test-Framework ) und ich habe keine Google-Suchergebnisse gefunden, die eine ausreichende Antwort liefern. Deshalb ...

Wie kann ich einen Code-Coverage-Bericht von Behave erhalten? Ich kann kaum glauben, dass es keine Python-Entwickler gibt, die die BDD-Methode verwenden, und ich finde es noch schwerer zu glauben, dass diese Python-Entwickler, die BDD verwenden, dies ohne Code-Coverage-Statistiken ihrer Funktionstests tun. Kann Coverage.py verwendet werden, um Behave zu veranlassen, Code Coverage zu produzieren? Wie?

    
fenreer 11.04.2014, 18:10
quelle

4 Antworten

2

Ich weiß nicht, wie ich mich benehmen soll, aber ich habe Gurke für BDD benutzt, was ich denke, dass es fast ähnlich ist. Und so denke ich, dass Sie in der Lage sein sollten, sich mit Abdeckung zu verhalten. Sie müssen angeben, welche Datei in der Datei enthalten sein soll. (Ich habe es mit Gurke verwendet). Sehen Sie, ob dies helfen könnte.

Ich hoffe, diese Antwort Ihre Frage:)

%Vor%     
saruberoz 26.06.2014, 04:35
quelle
1

Nach dem obigen Vorschlag von David.

Angenommen, der zu testende Code befindet sich in einem App-Verzeichnis, fügen Sie Ihrer .coveragerc -Datei Folgendes hinzu:

%Vor%

Vom Terminal:

%Vor%

Sie können dann den Deckungsbericht oder den Deckungs-HTML-Code wie gewohnt verwenden. Wenn Sie das App-Verzeichnis nicht in Ihrer .coveragerc -Datei angeben, testet coverage alle Python-Bibliotheken, die lokal für die Installation von "behave" verwendet werden.

    
daramcq 16.09.2016 20:39
quelle
0

Behave kann Junit-Coverage-Daten generieren, und das Coverage-Paket kann diese Daten aus mehreren Testläufen kombinieren und ein HTML-Bericht, den Sie in Ihrer CI-Umgebung lesen oder automatisch veröffentlichen können.

Hier sind die Anweisungen, die ich derzeit verwende, um Berichterstattung mit Verhalten zu erzeugen, zu kombinieren und zu berichten:

%Vor%

Der rm -rf behave-reports/* entfernt mit Nachdruck alles, was sich im Verzeichnis "behavior-reports /" befindet, so dass mir entweder ein neuer Bericht oder gar nichts garantiert wird (in meinem Fall ein Fehler in CI). Beachten Sie, dass Sie, wenn Sie Ihre Tests lokal ausführen, einen Eintrag zu Ihrer .gitignore -Datei (oder einem Äquivalent) hinzufügen möchten, damit Sie Ihre Testergebnisse nicht hinzufügen und festschreiben.

Laufendes Verhalten mit --junit erzeugt Junit-Ausgabe, während das --junit-directory -Flag sagt, wo diese Junit-Daten auf Festplatte geschrieben werden sollen.

Running coverage combine isst die gesamte Code-Abdeckung und kombiniert diese in eine einzige Coverage-Datei.

Schließlich erstellt coverage html einen hübschen HTML-Bericht, der alle kombinierten Daten enthält.

    
fenreer 25.05.2016 20:51
quelle
0

Eine weitere Option: Verwenden Sie coverage, um das Hauptscript von behave auszuführen:

%Vor%

Natürlich möchten Sie in Ihrem .coveragerc angeben, welche Quelldateien Sie aufnehmen möchten.

    
David Eyk 15.09.2016 21:03
quelle