pytest在控制台的方式下提示找不到包

问题: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__)))

  

虽然看到还是红色,但是不影响我们的运行,看下面就正常了

 

原文地址:https://www.cnblogs.com/chongyou/p/13928703.html