Ist es möglich ausschließen, test-Verzeichnisse aus coverage.py Berichte?
Ich bin Art von einem rookie mit python unit testing und insbesondere coverage.py. Ist es wünschenswert, die Abdeckung Berichte enthalten die Abdeckung des eigentlichen test-Dateien?
Hier ist ein screenshot von meinem HTML-Bericht als Beispiel.
Können Sie sehen, dass der Bericht umfasst tests/test_credit_card
. Zuerst war ich versucht, das weglassen der tests/
Verzeichnis aus den berichten, etwa so:
coverage html --omit=tests/ -d tests/coverage
Ich habe versucht, verschiedene Variationen des Befehls, aber ich konnte nicht für das Leben von mir bekommen, das tests ausgeschlossen. Nachdem die Niederlage zu akzeptieren, begann ich mich zu Fragen, ob vielleicht die test-Dateien sind soll, um in den Bericht aufgenommen werden.
Kann jemand etwas Licht in diese Schuppen?
- Ich hatte ein ähnliches problem. Ich wollte nicht extra python-Dateien (standard-lib, etc.) in der coverage-Bericht. Ich landete Strippen Sie aus dem XML-Code: stackoverflow.com/questions/2293647/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es eine gute Idee, um zu sehen, die Abdeckung des tests, da es zu Problemen. Wenn Ihr test-code nicht ausgeführt wird, dann es war nicht viel Sinn, es zu schreiben!
Den ich immer bekomme ist, wenn ich zwei unit-test-Funktionen den gleichen Namen haben - ich füge einen neuen test einige Monate nach dem original, und nur zufällig um die gleichen Namen. Das unittest-framework nicht beschweren - einer der Funktionen blendet das andere und es wird nicht nur führen Sie einen der tests! Die ausführliche Berichterstattung Bericht zeigt sofort das problem aber.
Wenn du anderen code in den tests, die nicht ausgeführt wird, dann kann das auch andere bugs, obwohl in der Regel gibt es oft ein paar Zeilen boilerplate-code, der möglicherweise nicht gedeckt, je nachdem, wie die tests get aufgerufen, so don ' T besessen über die immer zu 100%.
Und wenn Sie test-code, die wirklich nicht mehr gebraucht, dann ist es immer gut zu löschen!!!
coverage html --omit="*/test*" -d tests/coverage
--omit="*/test*,config/*.conf"
Erstellen
.coveragerc
- Datei in Ihrem Projekt-root-Ordner, und umfassen die folgenden:Können Sie auch explizit angeben, welches Verzeichnis Sie den gewünschten code-coverage auf anstatt zu sagen, die Dinge weglassen. In einem
.coveragerc
- Datei, wenn das Verzeichnis von Interesse ist genanntdemo
, das sieht aus wie