関数またはラムダでの使用方法は理解してassertRaises
いますが、インスタンス メソッドで使用したかったのです。
たとえば、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'
インスタンスメソッドが呼び出されたときのように、 when is self.assertRaises
callingが最初の引数として渡されていないため、このエラーがスローされていると思います。これを修正するにはどうすればよいですか?self.calculator.add
self