在MagicMock中使用SQLAlchemy`and_`

时间:2019-08-20 22:52:44

标签: python sqlalchemy magicmock

我有一个要模拟的SQLAlchemy调用。

and_

我正在使用MagicMock模拟此调用并为其提供返回值。我遇到的问题是添加and_时的问题。

为没有mock_model_class.query.filter().all.return_value = some_value 的呼叫设置返回值很简单:

and_

当我尝试模拟sqlalchemy.exc.ArgumentError: SQL expression object or string expected, got object of type <class 'unittest.mock.MagicMock'> instead时,我从SQLAlchemy中收到错误消息。

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

我尝试了不同的变化,但无济于事……例如:

mock_model_class.query.filter(and_).all.return_value
{{1}}

我是否缺少某些语法?

1 个答案:

答案 0 :(得分:0)

仅模拟sqlalchemy.and_。原因是在模拟筛选器执行之前调用了此方法。