pytest引入自己写的模块报错问题

项目结构如图,运行 pytest 报错`在这里插入图片描述
如果是在测试用例的目录下执行,
就报引入模块错误(不是原项目,但是都一样,不想改来改去了大家凑合看吧)
在这里插入图片描述

百度了很多,有说路径问题、有说命令问题,
还有说点击文件夹选择:
在这里插入图片描述
试过了,都没用
还有说加sys,path路径,也没啥用,都2023年了,这bug早修复了:
在这里插入图片描述

自己多方排查在一个大佬哪里找到了灵感:
)Python是如何查找子目录(包中有多层文件夹)中的模块呢?

    实际上,Python通过目录和文件构建包结构,并且包是层层嵌套的,这样就构成了包内的访问路径。例如我们在ModuleAndPackage文件夹下,创建一个文件夹animal,里面创建一个文本文件pet.py。

    那么如何引用pet.py这个模块呢?按照Python的约定,需要在ModuleAndPackage文件夹下创建名为__init__.py的空文本文件,在animal文件夹中创建__init__.py,以标识animal文件夹是一个包。倘若animal文件夹内还有文件夹作为包,也必须包含__init__.py文件。这样就层层标识了访问的路径。

    对,就是套娃。

————————————————
版权声明:本文为CSDN博主「玛丽莲茼蒿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44886213/article/details/123349273

但是我当时也加了__init__.py;但是还是报错,看了上面大佬的解释,突发奇想,如果我在测试用例里的文件夹都加上__init__.py会怎么样呢?
****在这里插入图片描述
,运行了下果然:
在这里插入图片描述

fuckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk!!!
最后附上项目目录:
在这里插入图片描述
上面附录很可能还有一个情况:
因为我在引入的时候from allcase.VersionCheck,因为allcase加了,所以不报错

就酱紫,溜了溜了

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值