18
मुझे समझ नहीं आता क्यों मैं कर सकते हैं इस उदाहरण में नकली नहीं NamedTemporaryFile.name:पायथन: एक संदर्भ प्रबंधक मजाक
मेंfrom mock import Mock, patch
import unittest
import tempfile
def myfunc():
with tempfile.NamedTemporaryFile() as mytmp:
return mytmp.name
class TestMock(unittest.TestCase):
@patch('tempfile.NamedTemporaryFile')
def test_cm(self, mock_tmp):
mytmpname = 'abcde'
mock_tmp.__enter__.return_value.name = mytmpname
self.assertEqual(myfunc(), mytmpname)
टेस्ट परिणाम:
AssertionError: <MagicMock name='NamedTemporaryFile().__enter__().name' id='140275675011280'> != 'abcde'