Tempfile
обычно используется в сочетании с оператором with
. Я хотел бы использовать его без него в классе unittest. Тесты создают ряд файлов, которые не мешают друг другу. Таким образом, я планировал просто создать временный каталог, в который я дам их все и удалить каталог, когда тестовый класс закончится. Тем не менее, я не мог найти, как удалить TemporaryDirectory в tearDownClass (cls)? Нужно ли вообще что-то делать? Есть ли лучший подход?
import pathlib
import tempfile
import unittest
class MyTest(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.temp_dir = tempfile.TemporaryDirectory()
@classmethod
def tearDownClass(cls) -> None:
# How can I close the tempfile here?
# cls.temp_dir.close() <- does not exist
def test_save_file(self):
file_path = pathlib.Path(temp_dir.name) / "my_file.abc"
# Function which saves stuff into file
# more tests which store other files into the temp_dir