我明白如何在函數或lambda上使用assertRaises
,但我想在實例方法上使用它。如何用assertRaises測試Python中的實例方法?
因此,舉例來說,如果我有一個類calculator
,做無限精度算術,我可能會寫測試:
def setUp(self):
self.calculator = calculator.calculator()
def test_add(self):
self.assertRaises(TypeError, self.calculator.add, ['hello', 4])
因爲self.calculator.add
是可調用和['hello', 4]
是我想通過它的參數,但是當我運行測試,我得到以下致命錯誤:
TypeError: add() missing 1 required positional argument: 'num2'
我相信這是引發此錯誤,因爲當self.assertRaises
呼籲self.calculator.add
,self
是沒有像通常在實例方法被調用時那樣通過第一次的攻擊。我該如何解決?
對,就是這樣,謝謝 – clementine