[PYTHON] Testcode zur Bewertung von Dekorateuren

So schreiben Sie Testcode zur Bewertung von Python-Dekoratoren. Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt.

Den Dekorateur selbst testen

Mit dem Hoge Decorator wird 1 zum Rückgabewert addiert.

def hoge(func):
    @functools.wraps(func)
    def wrapper(n):
        return func(n) + 1
    return wrapper

@hoge
def sample(n):
    return n * 2

if __name__ == '__main__':
    assert sample(3) == 7

Der Dekorateur selbst kann wie folgt bewertet werden (ANY_VALUE kann alles sein):

assert hoge(lambda n: 6)(ANY_VALUE) == 7

Dekorateure mit Argumenten testen

Der folgende Hoge-Dekorator addiert den im Argument des Dekorators angegebenen Wert zum Rückgabewert.

def hoge(m):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(n):
            return func(n) + m
        return wrapper
    return decorator

@hoge(2)
def sample(n):
    return n * 2

if __name__ == '__main__':
    assert sample(2) == 6

Der Dekorateur selbst kann wie folgt bewertet werden.

assert hoge(2)(lambda n: 4)(ANY_VALUE) == 6

Recommended Posts

Testcode zur Bewertung von Dekorateuren
Mit Codetest stärken ⑦
Mit Codetest stärken ⑨
Mit Codetest stärken ⑤
Mit Codetest stärken ④
Techniken zum Testen von Code?
Mit Codetest stärken ②
[Memo] Zusammenfassung des Testcodes
Mit Codetest stärken ①
Testautomatisierung für die Arbeit
Mit Codetest stärken ⑧
Mit Codetest stärken ⑨
Tutorial für die testgetriebene Entwicklung (TDD) mit Flask-2-Dekorateuren
Testcode, um auf der Seite nach defekten Links zu suchen
Hypothesentest zur Produktverbesserung
Für die Prüfung G-Test 2020 # 2
Persönliches Python-Code-Memo
Automatische Generierung des PyCharm-Testcodes
Python-Vorlage für Codeforces-manuelle Test-
[Python] Beispielcode für die Python-Grammatik
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Entscheidungsbaum (für Anfänger) -Code Edition-
VS-Codefragmente für Datenanalysten
Testmethoden zum Anpassen des Pickle-Verhaltens
Schreiben Sie Selentestcode in Python
Erstelltes AtCoder-Testtool für Python
Hinweise zum Schreiben von Python-ähnlichem Code
Lineare Regression (für Anfänger) -Code Edition-
Code für das selbstorganisierende Zustandsraummodell (unvollendet)
Ridge Return (für Anfänger) -Code Edition-