Ich habe eine benutzerdefinierte Throttling-Klassen basierend auf Django REST-Framework SimpleRateThrottle und ich möchte meine benutzerdefinierte Klasse mit Pytest testen. Da meine Standard-Testeinstellungen DummyCache verwenden, möchte ich nur für dieses spezielle Testmodul zu LocMemCache wechseln (SimpleRateThrottle verwendet das Cache-Backend, um die Anzahl zu messen). Gibt es eine Möglichkeit, das Cache-Backend nur für selektive Tests zu wechseln? Settings.CACHE in einem Gerät scheint nicht zu funktionieren. Ich habe auch versucht, den default_cache in der SimpleRateThrottle zu verspotten, aber ich konnte es nicht richtig machen.Verwenden Sie LocMemCache für selektive Django Pytest
naive_throttler.py
from rest_framework.throttling import SimpleRateThrottle
class NaiveThrottler(SimpleRateThrottle):
...
rest_framework/throttling.py
from django.core.cache import cache as default_cache # Or how can I patch this?
class SimpleRateThrottle(BaseThrottle):
...
Dies ist eine gute Nachricht, aber es scheint nicht zu unterstützen pytest es nicht? – Andy
Ich habe es nur mit pytest auf eine normale Funktion verwendet, sollte auch mit Klassenfunktionen arbeiten –