我了解如何assertRaises
在函数或 lambda 上使用,但我想在实例方法上使用它。
因此,例如,如果我有一个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
并没有像调用实例方法时那样作为第一个参数传递。我该如何解决?