问题描述:

case代码中使用pytest.main(['TestcasePairValue.py'])执行OK,但是在cmd下使用pytest TestcasePairValue.py执行报错如下

ImportError while importing test module 'D:\code\apitest\testcase\TestcasePairValue.py'.
Hint: make sure your test modules/packages have valid
 

查了网上资料,说是有循环引用,但是检查了一遍两个文件没看到有互相引用的地方,最后查到了一个解决大招,记录一下:

在执行的case文件目录下新建conftest.py文件,内容写:

import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

 后面又遇到这种问题,加上conftest也不行。记录下问题解决办法:

问题原因就是没有引用到包,需要把目录引入到sys.path下

图中修改前的报错代码为from iamApi.tokenApi import tokenApi 。报错找不到tokenApi

打印sys.path

看到sys.path中只取到了 D:\python-workspace\interfacePytest

从 D:\python-workspace\interfacePytest下直接找iamApi.tokenApi,找不到tokenApi,from需要增加一层api即可 

更多推荐