Я тестирую мой код на Python, использую библиотеку tempfile для создания временного каталога с именем temp_dir и сохраняю сгенерированный выходной файл в моем temp_dir, затем я хочу сравнить этот вывод с уже существующим правильным выходным файлом.
У меня есть свой класс, в его методе установки я создаю temp_dir и удаляю его методом разрыва следующим образом:
class PrimaryTest(unittest.TestCase):
def setUp(self):
self.temp_dir = tempfile.mkdtemp()
def tearDown(self):
shutil.rmtree(self.temp_dir)
Теперь этот временный каталог, который я хочу использовать в своей тестовой функции, чтобы сохранить файл, сгенерированный функциями в моем двоичном файле, который я тестирую ..
Вот как я использую приведенный выше код:
def CatalogCmp(self, product_name, actual_file, expected_file):
doom.getCatalog(self.temp_dir, product_name)
actual = json.load(open(actual_file))
expected = json.load(open(expected_file))
self.assertEqual(actual, expected)
def testCatalogImage(self):
expected_path = os.path.join(‘path/testdata/doom’, ’product1.json')
actual_path = os.path.join(self.temp_dir, ’product1.json')
self.CatalogCmp(‘product1’, actual_path, expected_path)
Я получаю следующую ошибку:
IOError: [Errno 2] No such file or directory: '/tmp/tmpGmv_ZR/product1.json'
Следующая строка генерирует эту ошибку:
actual = json.load(open(actual_file))