pytest cmd下执行报错make sure your test modules/packages have valid Python names.

在使用pytest执行Python测试脚本时遇到ImportError,问题在于模块找不到。解决方法包括在测试目录下创建conftest.py文件,将父目录添加到sys.path。然而,此方法并不总是有效,可能因为缺少对项目的正确引用。例如,导入'iamApi.tokenApi'时,需要确保从正确的路径导入,可能需要增加层级。检查并修正导入路径后,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

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即可 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值