您的pytest <filename>.py arg1
命令尝试在<filename>.py
和两个模块上调用pytestarg1
,但是没有模块arg1。
如果要在运行pytest之前传递一些参数,请在提取变量后从python脚本运行pytest。
正如其他人所建议的那样,尽管您可能希望以其他方式对测试进行参数化,请尝试:Parameterized pytest。
# run.py
import pytest
import sys
def main():
# extract your arg here
print('Extracted arg is ==> %s' % sys.argv[2])
pytest.main([sys.argv[1]])
if __name__ == '__main__':
main()
用这个叫 python run.py filename.py arg1