How to Dynamically Change pytest#39;s tmpdir Base Directory(如何动态更改pytest的tmpdir基目录)
本文介绍了如何动态更改pytest的tmpdir基目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
根据pytest documentation,可以覆盖默认临时目录设置,如下所示:
py.test --basetemp=/base_dir
如果随后在测试中使用tmpdir装置.
def test_new_base_dir(tmpdir):
print str(tmpdir)
assert False
..。然后,屏幕上将打印类似以下内容的内容:
/base_dir/test_new_base_dir_0
这可以按预期工作,并且对于某些用例可能非常有用。
但是,我希望能够在每个测试(或者我应该说"每个装置")的基础上更改此设置。这样的事情可能吗?我几乎只是基于code for the original滚动我自己的tmpdir,但我不想这样做--我希望在我能做到的现有功能之上构建,而不是复制它。
顺便说一句,我的特定用例是我正在编写一个Python模块,该模块将作用于不同类型的文件系统(NFS4等),如果能够产生tmpdir的功能并能够创建以下装置,那就太好了:
def test_nfs3_stuff(nfs3_tmpdir):
... test NFS3 functionality
def test_nfs4_stuff(nfs4_tmpdir):
... test NFS4 functionality
推荐答案
问题中提出的问题似乎没有很好的解决方案,所以我决定对py.test进行两次调用:
- 为每个传入不同的
--basetemp。 - 使用
@pytest.mark.my_mark标记哪些测试需要使用非标准基元的特殊处理。 - 向每个调用传递
-k my_mark或-k-my_mark。
这篇关于如何动态更改pytest的tmpdir基目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何动态更改pytest的tmpdir基目录
基础教程推荐
猜你喜欢
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
