Ich habe Probleme, eine Ausnahme von einer Funktion in meinem Test erhöhen:Python, Mock: raise Ausnahme
### Implemetation
def MethodToTest():
myVar = StdObject()
try:
myVar.raiseError() # <--- here
return True
except Exception as e:
# ... code to test
return False
### Test file
@patch('stdLib.StdObject', autospec=True)
def test_MethodeToTest(self, mockedObjectConstructor):
mockedObj = mockedObjectConstructor.return_value
mockedObj.raiseError.side_effect = Exception('Test') # <--- do not work
ret = MethodToTest()
assert ret is False
Ich mag raiseError()
Funktion einen Fehler erhöhen.
Ich habe mehrere Beispiele für SO gefunden, aber keine, die meinen Anforderungen entsprachen.
vielleicht dies könnte Ihnen helfen http://stackoverflow.com/questions/2052390/manifest-raiting-wowing-a-exception-in-python –
Sind Sie sicher, dass Sie an der richtigen Stelle patchen (wo importiert wird und nicht wo es * von * importiert wurde)? – jonrsharpe
I _think_, dass ich an der richtigen Stelle einfüge, da meine anderen Tests wie erwartet funktionieren. – user4780495