私はWhatever.objects.get_or_createにパッチを当てる方法を本当に探しましたが、それを行う方法についての提案やアイデアは得られません。
さて、私の問題は、次のようなものがあることです。
def create_and_get_object(
name, request, save_url=True, data=None):
try:
(object_type_, created) = Object.objects.get_or_create(
name=name)
try:
...
except Exception:
obj = None
msg = ("Failed to get or create object `Object` with"
"name='%s'" % name)
logger_.exception(msg, extra={'request': request})
return obj
だから、私は Object.objects.get_or_create がいつか例外をスローすることをテストしたい...
試してみましMock(side_effect=Exception())
たが、それを使用して期待どおりの結果を得る方法がよくわかりません。
これはすべて、その関数 (例外行はカバーされていません) を 100% カバーするためのものであり、そのような例外を持つ他の多くのものです。
これをテストする正しい方法と、このようなコードは何ですか?
私は何を間違っていますか?