跳转到主要内容

MongoDB进程和客户端固定插件,用于Pytest。

项目描述

https://raw.githubusercontent.com/ClearcodeHQ/pytest-mongo/master/logo.png

pytest-mongo

Latest PyPI version Wheel Status Supported Python Versions License

这是什么?

这是一个pytest插件,它允许您测试依赖于运行中的MongoDB数据库的代码。它允许您指定MongoDB进程和客户端的固定值。

如何使用

插件包含两个固定值

  • mongodb - 它是一个具有功能范围的客户端固定装置,并在每个测试结束时清理MongoDB。

  • mongo_proc - 会话范围固定装置,首次使用时启动MongoDB实例,并在测试结束时停止。

  • mongo_noproc - 一个无进程固定装置,连接到已运行的mongodb实例。例如,在docker化测试环境中或提供mongodb服务的CI中。

只需将其中之一包含到您的测试固定装置列表中。

如果需要,您也可以创建额外的MongoDB客户端和进程固定装置。

from pytest_mongo import factories

mongo_my_proc = factories.mongo_proc(
    port=None, logsdir='/tmp')
mongo_my = factories.mongodb('mongo_my_proc')

连接到已存在的mongodb数据库

一些项目正在使用已运行的MongoDB服务器(例如,在docker实例上)。为了连接到它们,将使用 mongo_noproc 固定装置。

mongo_external = factories.mongodb('mongo_noproc')

默认情况下,mongo_noproc 固定装置将使用 27017 端口连接到MongoDB实例。标准配置选项适用于它。

以下是与 mongo_noproc 固定装置一起工作的配置选项

配置

您可以通过三种方式定义您的设置,即固定装置工厂参数、命令行选项和pytest.ini配置选项。您可以选择您喜欢的,但请记住,这些设置按以下顺序处理

  • 固定装置工厂参数

  • 命令行选项

  • pytest.ini文件中的配置选项

配置选项

MongoDB服务器选项

固定装置工厂参数

命令行选项

pytest.ini选项

无操作进程固定装置

默认

MongoDB执行路径

可执行文件

–mongo-exec

mongo_exec

no

/usr/bin/mongod

MongoDB主机

主机

–mongo-host

mongo_host

127.0.0.1

127.0.0.1

MongoDB端口

端口

–mongo-port

端口

27017

random

存储日志的路径

logsdir

–mongo-logsdir

mongo_logsdir

no

$TMPDIR

附加参数

params

–mongo-params

mongo_params

no

MongoDB客户端的时间区域意识

tz_aware

–mongo-tz-aware

mongo_tz_aware

no

False

示例用法

  • 将其作为参数传递到您的固定装置中

    mongo_proc = factories.mongo_proc(port=8888)
  • 在运行测试时使用 --mongo-port 命令行选项

    py.test tests --mongo-port=8888
  • 在您的pytest.ini文件中将您的目录指定为 mongo_port

    为此,在您的pytest.ini文件中的[pytest]部分下添加以下行

    [pytest]
    mongo_port = 8888

包资源

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

pytest-mongo-3.1.0.tar.gz (16.6 kB 查看哈希值)

上传时间: 源代码

构建分发版

pytest_mongo-3.1.0-py3-none-any.whl (14.4 kB 查看哈希值)

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面