New submission from Sam Park <spark.did.a.c...@gmail.com>:
The expectation is that the __module__ attribute for a patched function should persist after patching. Minimal test case is attached. Simply run pytest in a venv with the files. Output: def test_zxc(): with mock.patch.object(mymodule, 'asd', side_effect=mymodule.asd, autospec=True) as spy_asd: > assert spy_asd.__module__ == 'mymodule' E AssertionError: assert None == 'mymodule' E + where None = <function asd at 0x7fe4cd6fd620>.__module__ test_mymodule.py:8: AssertionError Originally reported at https://github.com/pytest-dev/pytest-mock/issues/146 before it was determined this was a unittest.mock issue. Happens on both Python 2.7 and 3.7. Probably not really tied to a specific Python version and more of mock library issue. My local venv: Python 3.7.2 pytest 4.4.1 ---------- components: Library (Lib), Tests files: minimal-test-case.zip messages: 341738 nosy: spark priority: normal severity: normal status: open title: mock.patch.object does not persist __module__ name for functions versions: Python 2.7, Python 3.7 Added file: https://bugs.python.org/file48309/minimal-test-case.zip _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36834> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com