Am Fri, 20 Dec 2013 08:08:35 +0100
schrieb Reimar Bauer
Moin
2013/12/20 Thomas Lehmann
: Hallo,
offensichtlich ist es ja so, dass beim Ausführen der Unittests nicht geschaut wird wer die Methoden verwendet bzw. tested.
Nehmen wir mal eine Klasse "Vector" und eine Methode "angle" und in TestVector.py wurde vergessen diese Methode zu testen; allerdings wurde später die Methode "angle" in einem Algorithmus verwendet der vollständig getested wurde.
Fazit: Die Testabdeckung ist 100% obwohl der eigentlich dafür verantwortliche Test es nicht behandelt.
Ich hätte mir durch einen geeigneten Mechanism gewünscht das ich gewarnt werde das TestVector.py nicht alle Vector.py Methoden behandelt.
Gibt es sowas?
coverage
macht ne Analyse welcher Code nicht durch Tests abgedeckt ist.
Aber coverage stellt dann auch nur fest, das die Funktion angle verwendet wurde und der Code durchlaufen ist. Eine Möglichkeit wäre, die unittests mit coverage auszuführen, den Report speichern, dann die weiteren Tests (Integrationtests, Functionaltests, etc) jeweils wieder einzeln ausführen und die Reports speichern. Und ansonsten bleibt die Erkenntnis, das coverage nicht alles ist... - Arnold