2

モックライブラリを使用しているときに、my_mock.reset_mock()メソッドを呼び出すとMockmy_mock. どうやら私はどういうわけかマスキングMock.reset_mock()していますが、これがどのように起こったのかわかりません。

サンプル実行 (Python 2.7):

>>> mocks.normal_mock.mock_calls
Out[6]: []
>>> mocks.normal_mock.reset_mock()
>>> mocks.normal_mock.mock_calls
Out[8]: []
>>> mocks.abnormal_mock.mock_calls
Out[2]: []
>>> mocks.abnormal_mock.reset_mock()
>>> <MagicMock name='abnormal_mock.reset_mock()' id='157604104'>
>>> mocks.abnormal_mock.mock_calls
Out[4]: [call.reset_mock()]

何がこれを引き起こす可能性がありますか?

追加情報:

  • すべてのモックは指定されたクラスにカプセル化され、一度インスタンス化され、テストの間にリセットされunittest.TestCase.tearDown()ます。
  • すべてのモックはpatch.start()、パッチが適用されたオブジェクト/メソッド/モジュールを呼び出して作成されます
  • 私の例の正常なモックと異常なモックの両方が、UUT によってインポートされたモジュールをモックアウトします (それぞれ異なるモジュール)
4

1 に答える 1