Python, mock: raise exception

Habe ich Probleme, das auslösen einer exception aus einer Funktion in meinem test:

### 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

Möchte ich raiseError() - Funktion, um einen Fehler auszulösen.

Fand ich mehrere Beispiele auf, ja, aber keines entsprach meinen Bedürfnissen.

vielleicht könnte dies helfen, Sie stackoverflow.com/questions/2052390/...
Sind Sie sicher, dass Sie das patchen in der richtigen Stelle (wo es importiert wurde, nicht wo es importiert )?
Ich glaubst, dass ich den patch in der richtigen Stelle, wie meine anderen tests sind wie erwartet funktioniert.

InformationsquelleAutor user4780495 | 2016-11-22

Schreibe einen Kommentar