属性の多いモックを作る機会があったので、属性の指定方法を調べてみました。
dictを展開して渡す3番目に紹介した方法が使い勝手が良さそうです。
Mockのインスタンスの属性に値を代入する
単純な場合はこれでOK
mock = Mock()
mock.hoge = "HOGE"
Mockインスタンス生成時に引数で指定
引数で使用さているキーワード以外の属性をこの方法で設定できます。
引数の構成はこちらで確認できます。
mock = Mock(hoge="HOGE")
↑の応用でオブジェクトを引数に渡して展開する方法
個人的にはこれが好み。特に数が増えた場合に見やすい気がする。
mock = Mock(**{
"hoge" : "HOGE"
})
インスタンス生成後にconfigure_mockを使う
mock = Mock()
mock.configure_mock(**{
"hoge" : "HOGE"
})