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