仅对当前模块从python调用pytest
我知道py.test可以测试单个模块,如果我:仅对当前模块从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 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>包含在命令行上传递的额外参数
有更好的主意吗 您所展示的示例是针对一个文件的,但您要问的问题是关于模块的。请弄清楚你到底想要什么