我遇到的問題提出從功能異常在我的測試: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 /手動提升拋出python中的異常 –
您確定您在正確的位置進行了修補(它已導入,而不是從*導入的位置)? – jonrsharpe
我認爲我在正確的位置打補丁,因爲我的其他測試按預期工作。 – user4780495