Я хочу использовать свой модуль tempfile для записи файлов в моем тестовом примере. Но у меня возникают проблемы со ссылками на него, когда usinng mock.patch
Предположим, у меня есть этот код, обратите внимание, что патч ссылается на self.test_dir
import unittest
from unittest.mock import patch
import tempfile
class TestSomething(unittest.TestCase):
def setUp(self):
self.test_dir = tempfile.TemporaryDirectory()
def tearDown(self):
# Close the file, the directory will be removed after the test
self.test_dir.cleanup()
@patch("sample_module.SampleClass.base_url", self.test_dir)
def test_override(self):
pass
Запуск этого кода приведет к эта ошибка
NameError: name 'self' is not defined
Так как test_dir инициализируется в методе setup и tearDown, как я могу использовать этот временный файл. TemporaryDirectory
Есть мысли?