热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何模拟mongodbforpythonunittests?

如何解决《如何模拟mongodbforpythonunittests?》经验,为你挑选了1个好方法。

我正在使用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


推荐阅读
author-avatar
手机用户2502879933
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有