An der Spitze des Codes ich testen möchte, muss ich einen Import wie:Python - Mock importiert Wörterbuch
from resources import RESOURCES
wo RESOURCES
ein Wörterbuch der Werte.
Wie kann ich es im Test verspotten?
Was ich möchte, ist, egal was im realen Modul ist, ein gut bekanntes Wörterbuch zurück.
Zum Beispiel in einem Test mag ich RESOURCES
sein:
{
'foo': 'bar'
}
während in einem anderen Test, den ich will es sein:
{
'something': 'else'
}
Was genau meinst du mit "Mock it"? –
Wie gut müssen Sie es "verspotten". Müssen Sie das Modul testen, müssen Sie das Modul vortäuschen? Brauchen Sie nur eine 'RESOURCES' Definition, oder benötigen Sie einen falschen Eintrag in' sys.modules'? –
Sie können ein lokales (dh dasselbe Verzeichnis) Modul 'resources.py' hinzufügen, das Ihr mock' RESOURCES' Wörterbuch enthält. Oder Sie können dieses Modul woanders platzieren und den entsprechenden Pfad zu 'sys.path' voranstellen:' sys.path.insert (0, '/ pfad/zu/resources /') '. –