跳转到主要内容

管理集成测试的测试实例

项目描述

testinstances是一组管理实例包装器,旨在简化与redis和mongodb的集成测试。如果您已在路径中安装了二进制文件,它可以为您创建和销毁沙盒实例,以便进行测试。

示例

API简单明了,易于嵌入到设置/清理函数中。它还自动返回实例连接。

import unittest

from testinstances import RedisInstance

class TestSomeJunk(unittest.TestCase):
  def setUp(self):
    # Set up an instance on port 12345
    self.redis = RedisInstance(12345)

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

  def test_stuff(self):
    self.redis.conn.set('foo', 'bar')
    self.assertEqual(self.redis.conn.get('foo'), 'bar')

或者,如果您想更高级一些,避免每个测试案例的进程创建/终止成本

import unittest

from testinstances import MongoInstance

class TestSomeJunk(unittest.TestCase):
  @classmethod
  def setUpClass(cls):
    # Set up an instance on port 12345
    cls.mongo = MongoInstance(12345)

  @classmethod
  def tearDownClass(cls):
    cls.mongo.terminate()

  def setUp(self):
    # All instance types implement ``flush``
    self.mongo.flush()

  def test_stuff(self):
    collection = self.mongo.conn['someDB']['someCollection']
    collection.insert({'foo': 'bar'})
    self.assertEqual(collection.find({'foo': 'bar'}).next()['foo'], 'bar')

开发

要运行测试,您需要安装所有测试运行的数据库

对于Debian/Ubuntu

$ sudo apt-get install redis-server mongodb-server

对于OSX

$ sudo brew install redis mongodb

然后只需运行 tox

路线图

  • 新实例类型

    • Kafka

    • Zookeeper

  • 文档和ReadTheDocs

  • Travis-CI

项目详情


下载文件

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

源代码分发

testinstances-0.3.0.tar.gz (6.7 kB 查看哈希值)

上传时间 源代码

支持