\

Pythonのunittest.mockライブラリは、テスト中にシステムの一部をモックオブジェクトに置き換えて、それらがどのように使用されたかについてアサーションを行うことができます。

unittest.mockにはcall_argsという属性があり、これはモックオブジェクトが最後に呼び出されたときの引数を取得するために使用します。

from unittest.mock import MagicMock
mock = MagicMock()
mock('a', 'b', c='c')
args, kwargs = mock.call_args

上記のコードでは、mockオブジェクトが('a', 'b', c='c')という引数で呼び出されています。その後、call_argsを使用して、その呼び出しの引数を取得しています。argsは位置引数のタプルで、kwargsはキーワード引数の辞書です。

また、call_args_list属性を使用すると、モックオブジェクトが呼び出されたすべての引数をリストとして取得することができます。

from unittest.mock import MagicMock
mock = MagicMock()
mock('a', 'b', c='c')
mock('d', 'e', f='f')
print(mock.call_args_list)

このコードでは、mockオブジェクトが2回呼び出されており、その両方の呼び出しの引数をcall_args_listを使用して取得しています。

以上がPythonのunittest.mockcall_argsの基本的な使い方です。これらの機能を活用することで、モックオブジェクトがどのように呼び出され、どのような引数で呼び出されたかを詳細に検証することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です