1、相关的 fixture
(1)tmp_path
tmp_path
是一个用例级别的fixture
,其作用是返回一个唯一的临时目录对象(pathlib.Path
);
tmp_path
在不同的操作系统中,返回的是不同类型的pathlib.Path
对象,这里Windows
系统下返回的是WindowsPath
对象,它是Path
的子类对象;Path
对象可以使用/
操作符代替常用的os.path.join()
的方法;更多关于pathlib
的使用方法可以查看:https://docs.python.org/3.7/library/pathlib.html
(2)tmp_path_factory
tmp_path_factory
是一个会话级别的fixture
,其作用是在其它fixture
或者用例中创建任意的临时目录;tmp_path
就是使用tmp_path_factory
的一个例子。
(3)tmpdir
tmp_path
是一个用例级别的fixture
,其作用是返回一个唯一的临时目录对象(py.path.local),它提供os.path
的方法;修改(1)中例子
(4)tmpdir_factory
tmpdir_factory
是一个会话级别的fixture
,其作用是在其它fixture
或者用例中创建任意的临时目录;
(5)区别
fixture | 作用域 | 返回值类型 |
---|---|---|
tmp_path | 用例级别(function) | pathlib.Path |
tmp_path_factory | 会话级别(session) | TempPathFactory |
tmpdir | 用例级别(function) | py.local.path |
tmpdir_factory | 会话级别(session) | TempDirFactory |
2、默认的基本目录
通过指定 --basetemp=mydir
选项自定义默认的基本临时目录;