作者:手机用户2502879933 | 来源:互联网 | 2023-02-11 19:31
我正在使用mock
适用于Python 2.7的模块来模拟其他功能并使用
unittest
用于编写单元测试。
我想知道模拟MongoDB是否与使用模拟功能(mock.patch
被调用的功能?)不同?或者我需要为此使用另一个不同的包?
我不认为我想运行测试mongodb实例。我只需要一些速度数据并能够调用pymongo
功能。我只是在想是否有一种方法可以为模块编写模拟(例如pymongo
),或者mock
模块可以实现任何目标,因此我有点迷失了。
因此,如果您可以提供示例或教程,请多加赞赏。
测试代码
from pymongo import MongoClient
monog_url = 'mongodb://localhost:27017'
client = MongoClient(monog_url)
db = client.db
class Dao(object):
def __init__(self):
pass
def save(self, user):
db_doc = {
'name': user.name,
'email': user.email
}
db.users.save(db_doc)
def getbyname(self, user):
db_doc = {
'name': user.name,
}
return db.users.find(db_doc)
为了测试这一点,我真的不想要测试mongodb并运行它!而且,我想我不想模拟db.userssave和db.users.find,因为我希望实际上能够检索我保存的数据并确保它在db中。我认为我需要为记忆中的每个模型创建一些灯具并使用它们。我是否需要外部工具来做到这一点?
我正在考虑保留一些虚假数据,只是不知道如何正确处理它。
users = {
{'name' : 'Kelly', 'email' : 'kelly@gmail.com'},
{'name': 'Sam', 'email': 'sam@gmail.com'}
}
Kris..
8
我建议使用mongomock模拟mongodb。它基本上是带有pymongo接口的内存mongodb,是专门为此目的而制作的。
https://github.com/mongomock/mongomock
1> Kris..:
我建议使用mongomock模拟mongodb。它基本上是带有pymongo接口的内存mongodb,是专门为此目的而制作的。
https://github.com/mongomock/mongomock