メソッドをオーバーライドして、create
いくつかの関連オブジェクトも保存するDjangoモデルのカスタマーマネージャーがあります。
class CustomManager(models.Manager):
def create(self, amount, user, description):
txn = self.get_query_set().create(user, description)
txn.budget_transactions.create(amount)
return txn
txn.budget_transactions.create
私の質問は次のとおりです。例外を発生させるために呼び出しをモックするにはどうすればよいですか?
オブジェクトのbudget_transactions
属性txn
は のインスタンスですdjango.db.models.fields.related.RelatedManager
。このクラスをモックに使用mock.patch
しても、動的に宣言されているため機能しません。直接インポートすることはできません。
誰もこれを行う方法を知っていますか?