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

Reply via email to