【发布时间】:2018-07-30 04:42:05
【问题描述】:
我正在尝试使用 mock 将以下代码中的 cursor.execute() 存根,以便我可以测试使用格式正确的查询调用执行:
// Module ABC
def buildAndExecuteQuery( tablesAndColumnsToSelect ):
'''Build and execute a query.
Args: tablesAndColumnsToSelect (dict)
- keys are table names, values are columns
'''
query = ..... < logic to build query > ....
from django.db import connections
cursor = connections[ 'mydb' ].cursor()
cursor.execute( query )
如何在python2.7中使用mock库完成这种类型的mock?
【问题讨论】:
-
mox 0.5.3: New uses of this library are discouraged.你有什么理由必须使用mox?
-
并非如此,尽管这是我工作的常见做法。使用另一个模拟库的可行解决方案是可以的 - 如果不鼓励使用 mox 的新用途,我想会更好。
-
我没有听说过
mox,这只是 pypi 页面本身的引用。它自 2010 年以来也没有更新。我现在将尝试为您编写一个示例,但版本之间的导入略有不同(Python 3 模拟在 stdlib 中,但 Python 2 是第三方)。我猜是 Python 2,因为mox只是 Python 2? -
是 Python 2.7。没问题,感谢 Delirious Lettuce 的帮助!
-
我已更新帖子以引用模拟库而不是 pymox。
标签: python mocking python-unittest magicmock