1

モックライブラリについて読み始めましたが、sync 関数をテストするための入力値として使用する方法がよくわかりません。

私の同期関数は、外部ソースから多次元辞書を取得し、それを解析してさまざまな Django データベース レコードに変換します

私は勇敢に試しました:

sync(MagicMock()) 

しかし、モックが返す値の型が原因で、率直に失敗することが確実に予想されます。

したがって、いくつかの戻り値を手動で設定する方がよいと思います。次の実験を試しました。

>>> m = MagicMock()
>>> m['categories'] = [1,2,3]
>>> m['categories'].__class__
<class 'mock.MagicMock'>
>>> m['categories'][0]
<MagicMock name='mock.__getitem__().__getitem__()' id='4557691280'>

return_value も試しました

>>> m = MagicMock()
>>> m['categories'].return_value = [1,2]
>>> m['categories']
<MagicMock name='mock.__getitem__()' id='4557733712'>

しかし、同期関数内のコードは、辞書からの整数値を期待しています...

4

2 に答える 2