Python Spott Globale variable

Ich bin mit der sys.modules['cv2'] = Mock() zu verspotten die OpenCV-Modul, aber ich habe Probleme beim verwenden der assertEqual um zu testen, ob eine variable gesetzt wurde korrekt mit einer globalen Variablen. Ich habe vereinfacht den code ein wenig.
Ich bin mir nicht sicher, ob mein Spott ist Recht.

Hier ist mein unit-test-Datei:

from mock import patch, Mock
sys.modules['cv2'] = Mock()
from MyClass import MyClass
del sys.modules['cv2']

....

def testFunction()
    myObject = MyClass()
    self.assertEqual(myObject.val, ?) # here i don't know how to test the equality

und die Datei MyClass.py:

import module

val1 = cv2.function(1)
val2 = cv2.function(2)

class MyClass():
    def _init_(self)
        self.val = val1
Wenn Sie sys.modules['cv2'] = Mock() und dann del sys.modules['cv2'] den Sie löschen sys.modules['cv2'] (die verspottet object) - macht nicht viel Sinn...
Für mich war es sauberer zu tun, ein löschen nach Spott. Alle opencv-Funktion mock während des Imports. Vielleicht bin ich falsch
Sie sind das löschen von 2 Zeilen nach mocking - ohne den verspotteten Objekt
ok, aber selbst durch das entfernen der Zeile löschen wie kann ich testen, meine Gleichheit?
Naja, aus deinem code nicht klar ist, was versuchen Sie zu vergleichen...

InformationsquelleAutor Romanzo Criminale | 2014-10-31

Schreibe einen Kommentar