Ich verwende coverage.py
, um die Codeabdeckung meiner Tests zu messen. Ich habe die Filialabdeckung aktiviert, aber den Bericht kann ich nicht ganz nachvollziehen.Wie interpretiere ich Coverage.py-Coverage-Ergebnisse von Python?
Ohne Zweigüberdeckung, erhalte ich 100% Abdeckung:
Name Stmts Miss Cover Missing
------------------------------------------------------------
mylib/queries.py 44 0 100%
Mit Zweigüberdeckung aktiviert:
Name Stmts Miss Branch BrPart Cover Missing
--------------------------------------------------------------------------
mylib/queries.py 44 1 20 3 94% 55, 21->10, 53->-48, 59->-58
Die Quelle in Frage here gefunden werden kann.
21->10
macht Sinn; Die if
-Klausel wird nie als False
ausgewertet (springt zurück zum Anfang der äußeren for-Schleife).
Aber 53->-48
und 59->-58
haben mich am Kopf kratzen. Was meinen sie?
Es ist wahrscheinlich eine leere Liste innerhalb dieser for-Schleife, so dass es nie den Code innerhalb der Schleife ausführt. – Dan
Hm, ja, die Loops haben in den Testfällen, die ich anbiete, immer etwas zu kauen. Also ist der fehlende "Zweig" der Fall einer leeren Menge? –