我需要扩展一个具有大量硬编码路径的python代码
为了不弄乱一切,我想在修改之前为代码创建单元测试:它将作为我的新代码的非回归测试(这将没有硬编码的路径)
但是由于硬编码的系统路径,我将在 chroot 树中运行我的测试(我不想污染我的系统目录)
我的问题是我想设置 chroot 仅用于测试,这可以用os.chroot 仅具有 root 权限(我不想以 root 身份运行测试脚本)
事实上,我只需要一个假的树目录,这样当open('/etc/resolv.conf)
检索假的 resolv.conf 而不是我的系统的代码时
我显然不想在代码中替换自己的硬编码路径,因为它不是真正的回归测试
您知道如何实现这一目标吗?
谢谢
请注意,所有访问的路径都可以通过用户帐户读取