我有一个函数可以递归地搜索目录中的 .json 文件。它使用pathlib
.
def search(where: Path) -> List[Path]: ...
我想对它进行单元测试,所以我需要一种方法来创建带有孩子的假对象,Path
这样才能工作。fake_path.iterdir()
fake_path.resolve()
理想情况下,我想要这个:
topdir = FakePath()
subdir1 = FakePath()
subdir1.add_children(Path('file1'), Path('file2'))
topdir.add_children(subdir1)
for dir in topdir.iterdir():
for file in dir.iterdir():
print(file.name)
>> file1
>> file2
然后让它表现得像普通的 Path 对象。
有没有这样做的图书馆?还是可以pathlib
做我想做的事,而我只是瞎了眼?
(我知道我可以只创建临时文件,但我宁愿在单元测试中没有任何 IO。)