运行 py.test 创建临时存储库来帮助我们保存报告、数据、输出等
它们可以在DRIVE:\Users\USERNAME\AppData\Local\Temp\pytest-of-USERNAME\
如第 72 页文档中所述:
临时目录默认创建为系统临时目录的子目录。基本名称将是 pytest-NUM,其中 NUM 将随着每次测试运行而递增。此外,超过 3 个临时目录的条目将被删除。
当我运行多个测试时,最多 3 个临时目录非常烦人,有没有办法改变这个值?
运行 py.test 创建临时存储库来帮助我们保存报告、数据、输出等
它们可以在DRIVE:\Users\USERNAME\AppData\Local\Temp\pytest-of-USERNAME\
如第 72 页文档中所述:
临时目录默认创建为系统临时目录的子目录。基本名称将是 pytest-NUM,其中 NUM 将随着每次测试运行而递增。此外,超过 3 个临时目录的条目将被删除。
当我运行多个测试时,最多 3 个临时目录非常烦人,有没有办法改变这个值?
由于这些是临时目录,您不能依赖它们留下来。这个名字说明了一切。在 Unix 上运行 py.test,tmp 目录实际上存储在 /tmp 目录中,每次系统重新启动时都会清空该目录。
相反,您应该将您的内容移动到安全的地方。这可以通过使用 yield 固定装置创建一个临时目录来完成,然后在拆卸阶段将目录的内容复制到一个安全的地方。
@pytest.yield_fixture(scope="session")
def my_tmp_dir(tmpdir_factory):
t = tmpdir_factory.mktemp('some_test_path')
yield t
# do things to copy away your tmp directory
# to a safe place.