Karthikeyan Singaravelan <tir.kar...@gmail.com> added the comment: I tried your example as below using __name__. I received an AttributeError for which issue38473 in 3.7.5RC1 and 3.8.0RC1 and opened issue38473 and I am running my below code under that issue PR. For 3.7.4, I received manager.mock_calls to be an empty list since it doesn't contain the patch for this issue. Can you please confirm my results too.
➜ cpython git:(bpo38473) cat ../backups/bpo21478.py import unittest from unittest import TestCase from unittest.mock import patch, Mock, call, ANY class MyObject: def __init__(self): self.foo = 0 self.bar = 0 def set_foo(self, value): self.foo = value def set_bar(self, value): self.bar = value def do_something(): o = MyObject() o.set_foo(3) o.set_bar(4) return "something unrelated" class MyObjectTest(TestCase): @patch(f"{__name__}.MyObject.set_bar", autospec=True) @patch(f"{__name__}.MyObject.set_foo", autospec=True) def test_do_something(self, mock_set_foo, mock_set_bar): manager = Mock() manager.attach_mock(mock_set_foo, "set_foo_func") manager.attach_mock(mock_set_bar, "set_bar_func") do_something() assert manager.mock_calls == [ call.set_foo_func(ANY, 3), call.set_bar_func(ANY, 4), ] manager.assert_has_calls([call.set_foo_func(ANY, 3), call.set_bar_func(ANY, 4)]) if __name__ == "__main__": unittest.main() ➜ cpython git:(bpo38473) ./python ../backups/bpo21478.py . ---------------------------------------------------------------------- Ran 1 test in 0.006s OK ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue21478> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com