如何使用pathlib测试使用目录

时间:2018-04-07 07:14:38

标签: python unit-testing pathlib

我有一个以递归方式在目录中搜索.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。)

0 个答案:

没有答案