Не удалось создать фиктивные папки с помощью pyfakefs.Python

Программы на Python
Ответить
Anonymous
 Не удалось создать фиктивные папки с помощью pyfakefs.

Сообщение Anonymous »

Я работаю над проектом, который использует pyfakefs для имитации моей файловой системы, чтобы проверить создание папок и отсутствие папок в заранее определенной древовидной структуре. Я использую Python 3.13 в Windows и получаю следующий вывод с терминала после запуска теста:
Вывод терминала :
(Есть ли у кого-нибудь совет по форматированию вывода терминала без автоматической подсветки синтаксиса?)

Код: Выделить всё

E
======================================================================
ERROR: test_top_folders_exist (file_checker.tests.file_checker_tests.TestFolderCheck.test_top_folders_exist)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\juank\dev\projects\python\gamedev_eco\file_checker\tests\file_checker_tests.py", line 20, in test_top_folders_exist
self.fs.create_dir(Path.cwd() / "gdd")
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "C:\Users\juank\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyfakefs\fake_filesystem.py", line 2191, in create_dir
dir_path = self.absnormpath(dir_path)
File "C:\Users\juank\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyfakefs\fake_filesystem.py", line 1133, in absnormpath
path = self.replace_windows_root(path)
File "C:\Users\juank\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyfakefs\fake_filesystem.py", line 1418, in replace_windows_root
if path and self.is_windows_fs and self.root_dir:
^^^^^^^^^^^^^
File "C:\Users\juank\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyfakefs\fake_filesystem.py", line 357, in root_dir
return self._mount_point_dir_for_cwd()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\juank\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyfakefs\fake_filesystem.py", line 631, in _mount_point_dir_for_cwd
if path.startswith(str_root_path) and len(str_root_path) > len(mount_path):
^^^^^^^^^^^^^^^
AttributeError: 'WindowsPath' object has no attribute 'startswith'

----------------------------------------------------------------------
Ran 1 test in 0.011s

FAILED (errors=1)
Тест:

Код: Выделить всё

from pyfakefs.fake_filesystem_unittest import TestCase

class TestFolderCheck(TestCase):
"""Test top folders = gdd marketing business"""

@classmethod
def setUp(cls):
cls.setUpClassPyfakefs()
cls.fake_fs().create_dir(Path.cwd() / "gamedev_eco")
cls.fake_fs().cwd = Path.cwd() / "gamedev_eco"

def test_top_folders_exist(self):
self.fs.create_dir(Path.cwd() / "gdd")
Меня смущает то, что метод класса Setup может создать папку и изменить cwd на эту новую папку, но я не могу создать папку внутри теста. >
Есть ли у кого-нибудь опыт работы с pyfakefs?
Может ли кто-нибудь помочь мне с этой проблемой, пожалуйста?

Подробнее здесь: https://stackoverflow.com/questions/793 ... h-pyfakefs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»