跳转到主要内容

DynamoDB fixtures for pytest

项目描述

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

pytest-dynamodb

Latest PyPI version Wheel Status Supported Python Versions License

包状态

Tests Coverage Status

这是什么?

这是一个pytest插件,允许您测试依赖于运行中的DynamoDB数据库的代码。它允许您为DynamoDB进程和客户端(AWS boto术语中的资源)指定fixture。

如何使用

插件包含两个fixture

  • dynamodb - 它是一个具有功能范围的客户端/资源工具。每次测试后,它都会在DynamoDB中删除表。

  • dynamodb_proc - 会话范围工具,首次使用时启动DynamoDB实例,测试结束时停止。

简单地将这些工具之一包含到您的测试工具列表中。

如果您需要,也可以创建额外的dynamodb客户端和进程工具。

from pytest_dynamodb import factories

dynamodb_my_proc = factories.dynamodb_proc(
    port=None, logsdir='/tmp', delay=True)
dynamodb_my = factories.dynamodb('dynamodb_my_proc')

配置

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

  • 工具工厂参数

  • 命令行选项

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

配置选项

DynamoDB选项

工具工厂参数

命令行选项

pytest.ini选项

默认值

DynamoDB jar文件路径

dynamodb_dir

–dynamodb-dir

dynamodb_dir

/tmp/dynamodb

host

host

–dynamodb-host

dynamodb_host

127.0.0.1

port

port

–dynamodb-port

dynamodb_port

random

AWS访问密钥

access_key

–dynamodb-aws_access_key

dynamodb_aws_access_key

fakeMyKeyId

AWS密钥

secret_key

–dynamodb-aws_secret_key

dynamodb_aws_secret_key

fakeSecretAccessKey

AWS区域

region

–dynamodb-aws_region

dynamodb_aws_region

us-west-1

引入延迟

delay

–dynamodb-delay

dynamodb_delay

false

示例用法

  • 将其作为参数传递到您自己的工具中

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

    py.test tests --dynamodb-port=8888
  • 在您的pytest.ini文件中将端口指定为dynamodb_port

    为此,在pytest.ini的[pytest]部分下添加以下行:

    [pytest]
    dynamodb_port = 8888

包资源

项目详细信息


下载文件

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

源分发

pytest-dynamodb-2.3.0.tar.gz (27.0 kB 查看散列)

上传时间:

构建分发

pytest_dynamodb-2.3.0-py3-none-any.whl (26.1 kB 查看散列)

上传时间: Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面