[Python-de] Fehler vor Ausführung finden

Raymond Czerny chip at raymisoft.de
Mi Mai 1 14:58:32 EDT 2019


Nun, eine Syntaxprüfung allein ist nur ein Placebo,
denn über das Verhalten von Funktionen erfährt man so nichts.

Zu Qualitätssicherung sollte man testgetrieben entwickeln.
Die trifft übrigens auf alle Programmiersprachen zu.

Hierfür greift man am besten auf Testframeworks zurück,
um das Verhalten aller Funktionen zu testen.

Bei Unittest wird nicht nur das Verhalten auf gültige
Eingabewerte geprüft, sondern auch die Fehlerverarbeitung
mit mit ungültigen Werten.

Siehe:
https://wiki.python.org/moin/PyUnit

Startet man diese Unittest bei jedem Entwicklungsschritt,
erkennt man auch schnell Seiteneffekte:

Änderung in Funktion A() ändert Verhalten von Funktion B().

Gruß
Raymond


Am 27.01.19 um 23:10 schrieb Michael S.:
> Am 27.01.2019 um 19:44 schrieb Christopher Arndt:
>> Am 27.01.19 um 18:57 schrieb Michael S.:
>>> Heute wieder einmal einen Fehler entdeckt, wo ich von "self.State"
>>> gelesen habe, statt von "State". "self.State" gab es gar nicht, wird
>>> nirgends angelegt und nie verwendet. Das war einfach falsch
>>> runtergeschrieben.
>>
>> Diesen Fehler hätte z.B. "pylint" gefunden:
> 
> Soo, nach vielen Stunden ...
> Dem Raspberry habe ich schon seit Jahren kein Update mehr gegönnt, never 
> Touch a running Heizung ...
> Deshalb lies sich pylint darauf nicht installieren, ohne dass ich vorher 
> Updates fahre, was ich aber definitiv auf den Sommer schieben möchte.
> 
> Also ein 2015er Lubuntu aus der VirtualBox hervorgekramt und versucht, 
> pylint, da zu installieren. Fehlanzeige, System nicht aktuell.
> Allerdings auch zu alt, um ein Upgrade auf ein 2018er Lubuntu zu machen.
> 
> Deshalb ne neue virtuelle Maschine aufgesetzt und aktuelles Lubuntu 
> installiert. Darauf dann pylint und das Code-Verzeichnis des Raspberrys.
> 
> pylint Main.py       -> tausende Meldungen
> pylint Main.py -E    -> nix
> 
> Das dann mit allen eingebundenen py-Files einzeln gemacht und 
> tatsächlich ist noch ein Fehler aufgetaucht.
> 
> Kann man pylint auch sagen, dass es sich da selbst durchhangeln soll und 
> alle Files, die importet sind, mitscannt?
> 
> Michael
> 
> 



Mehr Informationen über die Mailingliste python-de