ModuleNotFoundError: No module named 'launch' (pytest执行测试用例报错)
问题:
pytest在pytcharm右击运行按钮(run)正常,在terminal使用命令pytest运行时报错,如下:
解决方法:
当前项目层级结构,运行pytest时先遍历test_case文件夹内部,conftest.py文件引用到launch.py文件,但是不在同一层级所以找不到模块。为啥pycharm可以运行成功呢?原因是pycharm会导入当前工作目录下的模块,terminal的不会,所以需要加上项目目录 。
在遍历不到的模块导入之前先加上项目路径(注:加的位置不对也是不行的)
#方法一
#方法二 import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from launch import app
添加完后,关闭terminal再打开,输入pytest命令运行成功!