问题:pytest方法在idea中运行正常,引入包也正常,但是在控制台中运行就提示找不到包
原因:我查询过很多文件,好像问题是这样,是因为idea加载路径的时候是会把当前目录的路径加入进去,进行运行,但是如果是用控制台,根目录就不会被加载,所以要手动添加目录
以下为例,项目名/cases/运行的方法 引入包的地址是 项目名/conf/QA 因为在idea中启用了source root功能,会发现导入form conf import QA正常,运行也能正常,但是当我们取消sour root功能运行,这个时候运行与控制台中就一样了
取消后的效果
取消后soure root 用控制台运行都是同样的问题
解决方法
在引包之前加入路径,引包之前加入路径,引包之前加入路径,重要的事情说三遍,一定是引包之前,(因为我就犯了这个错误,在引包的后面,在去加入路径,所以浪费了一个晚上纠结这个事情)
from os.path import dirname, join sys.path.append(dirname(dirname(__file__)))
虽然看到还是红色,但是不影响我们的运行,看下面就正常了