Wie man http-Server unter Python mockt

Führt der eigene Code http-Calls aus, z.B. um Dateien von einem externen Server runterzuladen stellt sich die Frage nach der Testbarkeit. Idealerweise ist der Code so aufgebaut, daß er nicht direkt von einer http-Library abhängt und man entsprechende Calls mocken kann. Ist dies nicht einfach möglich, kann man den in der Standarlibrary eingebauten http.server als localhost-Gegenstelle für Tests verwenden.

Continue reading “Wie man http-Server unter Python mockt”

pylint und Argumente von callback-Funktionen

Benutzt man eine Library, die Callback-Funktionen verlangt, hat man nicht unbedingt die Kontrolle über Anzahl und Verwendung der Argumente. Hier wird sich beispielsweise pylint beschweren mit “Unused argument ‘attrs’ (unused-argument)”:

def mycallback(arg1, arg2):
    pass

Glücklichweise gibt es eine Möglichkeit mit dem Präfix “cb_” pylint den Umstand mitzuteilen, daß es sich dabei um eine Callbackfunction handelt:

def cb_mycallback(arg1, arg2):
    pass

Damit mahnt pylint die Stelle nicht mehr an und akzeptiert, wenn man nicht an sämtlichen Informationen des Aufrufers interesiert ist.