

属性にidとnameを持ったモックオブジェクトを作成したいのですが、下記のようにコンストラクタに`name=`を指定するとモックのreprとして使われるため、name属性としてはアクセスできません。

[code]

    >>> from unittest.mock import MagicMock
    >>> m = MagicMock(id=11, name='mock_name')
    >>> m.id
    11
    >>> m.name
    <MagicMock name='mock_name.name' id='139722341173472'>
    >>> 
    
[/code]

下記のようにモックを作成したあとでname属性を設定すれば、期待通りの動きをするのですが、コンストラクタでname属性を指定する方法があるでしょうか。

[code]

    >>> from unittest.mock import MagicMock
    >>> m = MagicMock(id=123)
    >>> m.name = 'mock_name'
    >>> m.id
    123
    >>> m.name
    'mock_name'
    >>>
    
[/code]


CC BY-SA 4.0
2020-12-10T05:29:13.740
72559
2020-12-10T05:29:13.740
5285
question
python
pythonのモックオブジェクトのコンストラクタでname属性を設定する方法ありますか。