首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQLAlchemy `and_`和MagicMock

使用SQLAlchemy `and_`和MagicMock
EN

Stack Overflow用户
提问于 2019-08-20 22:52:44
回答 1查看 321关注 0票数 0

我有一个SQLAlchemy电话,我正试图嘲笑它。

代码语言:javascript
复制
Model.query.filter(and_(Model.id.in_(some_ids), Model.other_id != None)).all()

我使用MagicMock来模拟这个调用,并给它一个返回值。我遇到的问题是当我添加and_时。

为没有and_的调用设置返回值非常简单,如下所示:

代码语言:javascript
复制
mock_model_class.query.filter().all.return_value = some_value

当我试图模拟and_时,我会从SQLAlchemy那里得到一个错误。

sqlalchemy.exc.ArgumentError: SQL expression object or string expected, got object of type <class 'unittest.mock.MagicMock'> instead

我试过不同的变体,但没有用.例如:

mock_model_class.query.filter().and_().all.return_value

mock_model_class.query.filter(and_).all.return_value

这里面有我遗漏的语法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-26 21:04:06

只需模仿sqlalchemy.and_。其理由是,在执行模拟过滤器之前会调用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57582448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档