У меня возникли проблемы воспитывающей исключения из функции в моем тесте:Python, макет: повышение исключения
### 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
Я хотел бы raiseError()
функцию, чтобы вызвать ошибку.
Я нашел несколько примеров на SO, но ни один из них не соответствовал моей потребности.
может быть, это может помочь вам http://stackoverflow.com/questions/2052390/вручную-raise-throwing-the-exception-in-python –
Вы уверены, что исправляете нужное место (где оно импортировано, а не там, где оно было импортировано * из *)? – jonrsharpe
Я _think_, что я исправляю в нужном месте, так как мои другие тесты работают так, как ожидалось. – user4780495