繁体   English   中英

模拟烧瓶-sqlalchemy 查询

[英]mock flask-sqlalchemy query

尝试创建测试 function 以模拟 sqlalchemy 查询的 get 方法(使用 pytest)时,出现模块未找到的错误

例子:

from mock import patch     
@patch('flask_sqlalchemy._QueryProperty.__get__')
def test_get_all(queryMock):
    assert True

运行 pytest 时出现错误:

ModuleNotFoundError: No module named 'flask_sqlalchemy._QueryProperty'

我使用的是 Flask-SQLAlchemy 的 3.0.2 版本。 所以我刚刚更改为 2.5.1 版并且它有效。 但是我认为使用最新版本会很好。 有没有其他方法可以模拟适用于最新版本的 sql-alchemy 查询?

使用flask_sqlalchemy.model._QueryProperty.__get__而不是flask_sqlalchemy._QueryProperty.__get__ 这将解决您的问题,因为 _QueryProperty class 已移至 model。

from mock import patch     
@patch('flask_sqlalchemy.model._QueryProperty.__get__')
def test_get_all(queryMock):
    assert True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM