Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅对当前模块从python调用pytest_Python_Pytest - Fatal编程技术网

仅对当前模块从python调用pytest

仅对当前模块从python调用pytest,python,pytest,Python,Pytest,我知道py.test可以测试单个模块,如果我: py.test mod1.py 或者,我可以在python中调用pytest: import pytest pytest.run(['mod1.py']) 我可以在python内部执行此操作,并让它运行当前模块吗?我想我能做到: import pytest import os pytest.main([os.path.basename(__file__)]) 但想知道这是否是最“蟒蛇式”的方法。谢谢 您的版本不允许向pytest传递额外参数(

我知道py.test可以测试单个模块,如果我:

py.test mod1.py
或者,我可以在python中调用pytest:

import pytest
pytest.run(['mod1.py'])
我可以在python内部执行此操作,并让它运行当前模块吗?我想我能做到:

import pytest
import os
pytest.main([os.path.basename(__file__)])

但想知道这是否是最“蟒蛇式”的方法。谢谢

您的版本不允许向pytest传递额外参数(例如,allow
/test\u file.py-v
)。我简单地试了一下

import sys


if __name__ == '__main__':
    pytest.main(sys.argv)
它似乎起到了作用
sys.argv[0]
是脚本名称(即
\uuuu文件\uuuu
,可能作为相对路径),因此它限制对脚本的调用,并且
sys.argv[1:://code>包含在命令行上传递的额外参数


有更好的主意吗

您所展示的示例是针对一个文件的,但您要问的问题是关于模块的。请弄清楚你到底想要什么