在PyTest中创建一个临时目录

5 浏览
0 Comments

在PyTest中创建一个临时目录

我的Python项目可以顺利导入2.9.0版本的pytest,没有任何问题。

我想创建一个只在测试会话期间存在的新空目录。我看到pytest提供了临时目录支持:

https://pytest.org/latest/tmpdir.html

您可以使用tmpdir fixture来提供一个唯一的临时目录,该目录在基础临时目录中创建,供测试调用使用。

tmpdir是一个py.path.local对象,提供了os.path方法等。下面是一个示例测试用法:

pytest的源代码显示def tmpdir是一个全局/模块函数:https://pytest.org/latest/_modules/_pytest/tmpdir.html

然而,我的测试文件失败了:

import pytest
# ...
def test_foo():
    p = pytest.tmpdir()

报错如下:

AttributeError: 'module' object has no attribute 'tmpdir'

使用from pytest import tmpdir失败,报错如下:

ImportError: cannot import name tmpdir

0