0
Pythonモックフレームワークを使用してクラス関数をモックしようとしているときに、TypeErrorが2つの引数(0が指定されています)Pythonモックフレームワークを使ってモックしている間にタイプエラーが発生しました
>>> class ExampleClass():
... @staticmethod
... def _process_updates(arg1, arg2):
... pass
...
>>>
>>> @patch("ExampleClass._process_updates")
... def process_updates(arg1, arg2):
... return "test"
...
>>> ExampleClass._process_updates()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: _process_updates() takes exactly 2 arguments (0 given)
>>>
どのように2番目のスニペットを実行していますか?パッチデコレータは、装飾するメソッド内にのみ適用されます。 '_process_updates'を呼び出すと、パッチはアクティブではなく、元のメソッドが使用されます。 –
デコレータが送信する 'MagicMock'の' process_updates'に2番目の引数がありません。 – Grimmy
@DanielRosemanこのコードはすべてpythonコンソールで定義されています。 2番目のスニペットは、同じPythonコンソールから実行され、上記のコードはすでに書かれています。 – user2819403