跳转到主要内容

自动在一个临时目录中设置redis实例,测试后销毁它

项目描述

testing.redis 自动在一个临时目录中设置redis实例,测试后销毁它

https://travis-ci.org/tk0miya/testing.redis.svg?branch=master https://coveralls.io/repos/tk0miya/testing.redis/badge.png?branch=master https://codeclimate.com/github/tk0miya/testing.redis/badges/gpa.svg

安装

使用easy_install(或pip)

$ easy_install testing.redis

并且 testing.redis 需要Redis服务器。

用法

使用 testing.redis.RedisServer 创建Redis实例

import redis
import testing.redis

# Launch new Redis server
with testing.redis.RedisServer() as redis_server:
    r = redis.Redis(**redis_server.dsn())
    #
    # do any tests using Redis...
    #

# Redis server is terminated here

testing.redis 自动在 $PATH 中搜索redis-server。如果您将redis安装到其他目录,请设置 redis_server 关键字

redis = testing.redis.RedisServer(redis_server='/path/to/your/redis-server')

testing.redis.RedisServer 在实例化时执行 redis-server。删除RedisServer对象时,它终止Redis实例并删除临时目录。

如果您想要包含任何固定数据的数据库,请使用 copy_data_from 关键字

# uses a copy of specified data directory of Redis.
redis = testing.redis.RedisServer(copy_data_from='/path/to/your/database')

您可以使用 redis_conf 关键字指定Redis的参数

# Enable appendonly mode
redis = testing.redis.RedisServer(redis_conf={'appendonly': 'yes'})

例如,您可以在 setUp() 方法上为每个测试用例设置新的Redis服务器

import unittest
import testing.redis

class MyTestCase(unittest.TestCase):
    def setUp(self):
        self.redis = testing.redis.RedisServer()

    def tearDown(self):
        self.redis.stop()

需求

  • Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5

  • redis

许可证

Apache许可证2.0

历史

1.1.1 (2016-08-20)

  • 修复一个错误

    • #1 修复参数处理

1.1.0 (2016-02-03)

  • 添加服务器调用超时

  • 添加 testing.redis.RedisServerFactory

  • 依赖 testing.common.database

1.0.3 (2015-04-06)

  • 修复错误

    • 在析构函数中不要调用os.getpid()(如果不需要的话)

    • 使用绝对路径指定which命令

1.0.2 (2014-06-19)

  • 在终止redis-server时添加超时

  • 修复错误

1.0.1 (2014-06-11)

  • 在 py3 中捕获 SIGINT 时修复 ImportError

1.0.0 (2013-12-07)

  • 首次发布

项目详情


下载文件

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

源代码分发

testing.redis-1.1.1.tar.gz (7.8 kB 查看散列)

上传时间 源代码

构建分发

testing.redis-1.1.1-py2.py3-none-any.whl (6.4 kB 查看散列)

上传时间 Python 2 Python 3