今天研究了下,问题解决了,关键还是一个查找module的问题。
小结一个import的基础用法
很多源代码里看到这样的用法,from flask import Flask,from models.item import ItemModel,然后当我自己创建了一个名字叫person的module的时候,如果我也想在其他代码里方便的使用from person import Person来导入Person类的话,可以这样做。
创建person目录,同时目录下有__init__.py和person.py两个文件,

person.py中定义了一个Person类,有__init__.py文件存在,则会定义这个目录是一个module,同时文件内容如下:
__all__ = ['Person',]
from .person import Person
这样在其他module或者python代码里,就可以通过from person import Person来导入Person类了,假如__init__.py是空的,则需要使用from person.person import Person来导入Person类。
回到mock.patch()的问题
回到最开始的问题,解决代码可见于 segmentfault上问题关于mock.patch()和mock.patch.object()的区别的问题的回答。

博主通过研究解决了上篇博文中遇到的mock.patch()无法正常工作的问题,关键在于正确处理模块查找。文章简单回顾了import的基础用法,并提供了解决patch问题的思路,参考自segmentfault上的相关问题解答。
1297

被折叠的 条评论
为什么被折叠?



