问题描述:
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即可