- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下一段代码到 UT,这让我遇到了麻烦:
def initialize():
try :
self.client = MongoClient("127.0.0.1", 27017)
self.conn = self.client["DB_NAME"]
except Exception:
print "Except in initialize!"
return False
return True
我编写了以下测试用例来覆盖上述函数,希望得到返回值“True”:
def mock_mongodb_mongoclient_init(self, para1, para2):
pass
def mock_mongodb_mongoclient_getitem(self, name):
return {"DB_NAME":"Something"}
def test_mongodb_initialize_true(self):
self.patcher1 = patch('pymongo.MongoClient.__init__', new=self.mock_mongodb_mongoclient_init)
self.patcher2 = patch('pymongo.MongoClient.__getitem__', new=self.mock_mongodb_mongoclient_getitem)
self.patcher1.start()
self.patcher2.start()
self.assertEqual(initialize(), True)
self.patcher1.stop()
self.patcher2.stop()
但这永远行不通!总是报“初始化异常!”!并返回“False”。
我怎样才能UT这个MongoClient并使函数返回“True”?
最佳答案
由于您正在进行单元测试并且不尝试以任何方式实际连接到 Mongo,因此我认为您应该只关心客户端 API 已被调用。所以我建议如下 -
from unittest import mock
@mock.patch("pymongo.MongoClient")
def test_mongodb_initialize(self, mock_pymongo):
MyMongo.initialize()
self.assertTrue(mock_pymongo.called)
(如果我的语法不对,请原谅我,我使用 pytest 而不是 unittest。)
关于python - 如何模拟 MongoClient 进行 python 单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22037815/
const { MongoClient, ObjectID } = require('mongodb'); const debug = require('debug')('mongodb-connec
当我启动我的一些服务时,它会报告此类警告并且服务会停止: /usr/lib64/python2.6/site-packages/pymongo/topology.py:75: UserWarning:
我不喜欢新的 mongo,MongoDB 在 PHP7 中需要几个库。 PHP 5 中的 MongoClient(已弃用)更加舒适和轻便! 我决定启动一个脚本并比较两个版本,结果非常令人惊讶: Mon
我正在尝试实现 MongoDB 连接处理程序,但遇到了一个问题,我的 Database即使我的 MongoClient() 调用成功,调用也会返回 None。 #mongoconn.py from p
我对 MongoDB 有点陌生,我对 MongoClient 类感到困惑,因为在不同的包中有两个( com.mongodb.client.MongoClient 和 com.mongodb.Mongo
我正在尝试熟悉从 C# 程序写入 MongoDB。我已经按照 http://mongodb.github.io/mongo-csharp-driver/1.11/getting_started/ 的建
我正在使用 Celery 和 MongoEngine 作为我的 Django 应用程序的一部分。 当 celery @shared_task 通过 mongoengine 模型类访问 mongodb
我有一个非常简单的 PyMongo 配置,连接到两个主机: from pymongo import MongoClient host = os.getenv('MONGODB_HOST', '127.
这个问题已经有答案了: MongoDB - Java | How to manage the connection (1 个回答) 已关闭 5 年前。 我正在用 Java 开发一个应用程序,该应用程序
我有一个副本集设置,其中包含 1 个主节点 (mongo1.test.com)、1 个辅助节点 (mongo2.test.com) 和 1 个仲裁节点 (mongo3.test.com)。当我使用 M
我是 NodeJS 新手,也是 JS can-kicker 第一次尝试 DI。以下是我在决定问我之前看过的问题,因为它们显示相同的错误:[1] [2] 运行我的入口点产生: this.client =
使用 java MongoClient 库,如何在集合中查找文档并仅返回特定的对象?我知道这对于 1 个对象 是可能的,但不确定多个。 对于 1 个对象: DBCursor cursor = db.g
这是我的服务器告诉我的内容: MongoClient.connect('mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes', (err, cli
我有一个使用 MongoDB 作为数据库的 ASP.Net MVC 应用程序。网站和数据库位于不同的服务器上。 目前,我有一个看起来像这样的类: public class Mongo { pr
我无法做到这一点: from pymongo import MongoClient 我明白了: >>> import pymongo >>> from pymongo import MongoClie
我正在尝试让这段代码运行: tilbud; ?> 每次我遇到同样的错误: Fatal error: Class 'MongoClient' not found in C:\xampp\htdocs\c
我正在努力更好地理解 this documentation关于如何重用 MongoClient 的实例。 我们通过在构造函数中传递连接字符串来创建 MongoClient 实例,this is the
我正在使用 Mongo DB java 驱动程序连接到 mongo 实例。下面是我用来创建 MongoClient 实例的代码。 try { new MongoClient("
什么是 Mongoclient?它在下面的语句中做了什么? var MongoClient = require('mongodb').MongoClient; 最佳答案 您示例中的 MongoClie
假设我有一个副本集,其中包含一个主 P 和三个辅助 S1、S2 和 S3 。假设应用程序使用此 constructor 创建一个 Mongo 客户端。 。 种子列表为{P、S1、S2}。请注意,该列表
我是一名优秀的程序员,十分优秀!