Python 2.7 如何在Python测试中伪造文件系统中的硬链接?

Python 2.7 如何在Python测试中伪造文件系统中的硬链接?,python-2.7,pytest,Python 2.7,Pytest,我想检查与文件系统交互的Python生产代码是否正确地考虑了硬链接(文件名指向同一inode) 在一个单元测试中,我使用了一个假的文件系统(创建时使用的是pathlib/pathlib2.Path对象),并希望在其中伪造硬链接 测试中的假文件系统应包含三个硬链接hard\u link\u 0…2.txt,指向假文件系统中的同一索引节点 hard_link_0.txt hard_link_1.txt /dir hard_link_2.txt 由于tmp_路径创建了一个实际的目录(与模拟pat

我想检查与文件系统交互的Python生产代码是否正确地考虑了硬链接(文件名指向同一inode)

在一个单元测试中,我使用了一个假的文件系统(创建时使用的是
pathlib/pathlib2.Path
对象),并希望在其中伪造硬链接

测试中的假文件系统应包含三个硬链接
hard\u link\u 0…2.txt
,指向假文件系统中的同一索引节点

hard_link_0.txt
hard_link_1.txt
/dir
  hard_link_2.txt

由于
tmp_路径
创建了一个实际的目录(与模拟pathlib相反),因此您可以正常地处理
tmp_路径
中的所有内容。因此,要创建硬链接,您可以使用
os.link(srcpath,dstpath)
,就像您通常使用的那样(从Python 3.6+;否则,请使用
os.link(str(srcpath),str(dstpath))

如果您告诉我们测试是什么样子,也许可以。这个问题有点太笼统了。我已经用足够的信息更新了这个问题。我仍然不明白你想做什么。什么是假文件系统?
root
目录是否确实存在于某个地方,或者您只是在谈论pathlib对象?您是否需要创建硬链接,测试某个内容是否为硬链接,假创建硬链接但创建软链接,假创建硬链接但创建文件副本,假创建硬链接但获得类似pathlib的对象,其行为方式如同指向硬链接。。。?(此外,pathlib首先没有创建硬链接的方法…)我说的是pathlib对象。我需要在测试设置期间创建硬链接,以检查生产代码是否正确处理它们。我已经更新了这个问题。pathlibs无法创建硬链接的解决方法正是我感兴趣的。