在Python Flask蓝图中模拟一个函数

时间:2016-02-25 01:25:34

标签: python unit-testing flask mocking patch

我有一个名为api的Python Flask蓝图,在其中,它有一个名为utils的文件,它有一个我试图模拟的函数。该utils文件的路径为app/api/utils.py,我尝试模拟的函数为is_file_writeable()

我正在为位于app/api/configs.py的蓝图中的路线进行测试。在configs.py内,我导入函数:

from app.api.utils import is_file_writeable

我尝试了以下修补程序装饰器:

@patch('app.api.configs.is_file_writeable', return_value=False)

@patch('app.api.utils.is_file_writeable', return_value=False)

两者分别返回以下错误:

  

属性错误:'蓝图'对象没有属性' configs'

  

属性错误:'蓝图'对象没有属性' utils'

关于我为什么会收到导入错误的任何想法?

1 个答案:

答案 0 :(得分:0)

当我遇到这个问题时,是因为api是一个蓝图。嘲笑者没有在蓝图configs.py中寻找api文件夹下的utils

要解决这个问题,我导入了py文件并直接修补了该对象:

api