项目结构如图,运行 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加了,所以不报错
就酱紫,溜了溜了