我的问题是,在运行pytest时,如何执行基于pytest参数的setup方法?基本上,我希望在运行任何测试之前先运行这个“设置方法”
为了简单起见,假设我有一个文件“text\u something.py”
import somemodule
def test_some(usefakemodule):
...
“somemodule”是否安装在环境中。如果它已经安装,那么它将工作没有问题。如果没有,我需要通过运行一个基本上执行sys.path.append(XXX)的方法来添加假模块的路径
简而言之,如果我想使用假模块dir,我想运行'pytest-v--usefakemodule',或者只运行'pytest-v'来使用本地安装的库(假设它安装在那里)
我尝试在conftest.py中添加一个fixture(scope=session),但在执行“test\u something.py”之前,它似乎没有先运行/执行fixture,然后执行“test\u something.py”,这将不会声明名为“somemodule”的模块
我可以在conftest中运行常规方法,但我不知道它如何依赖于pytest命令行参数“usefakemodule”
我不知道是否/如何让pytest接受额外的参数,但这里有一些实现这一点的其他想法:
USE_FAKE_MODULE=true pytest -v
一起运行:在conftest.py中,使用pytest\u addoption与pytest\u cmdline\u main组合使用, 有关详细信息,请参阅文档
相关问题 更多 >
编程相关推荐