为多线程Django测试设置共享数据库连接。
项目描述
这个代理数据库后端旨在加快多线程测试设置的效率。
它允许这些设置(例如使用LiveServerTestCase)使用Django的标准TestCase - 每个测试都在自己的事务中运行 - 而不是需要在每个测试之间刷新整个数据库的更慢的TransactionTestCase。
**不**推荐用于生产使用,仅用于加快测试设置。
此项目支持Django版本1.6和Python 2.7、3.2和3.3。
设置
首先,安装django-shareddb
$ pip install django-shareddb
然后,只需更新您的设置以使用其包装引擎
DATABASES = {
'default': {
'ENGINE': 'shareddb.backends.shareddb',
'INNER_ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'test-dbsharing',
}
}
由于更改这些设置非常频繁,django-shareddb还提供了一个简单的patch_databases函数
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'test-dbsharing',
}
}
if os.environ['FAST_TESTS']:
import shareddb
DATABASES = shareddb.patch_databases(DATABASES)
设置准备就绪后,只需将Django的LiveServerTestCase调用替换为django-shareddb变体即可
from shareddb import testcases
class MyTests(testcases.LiveServerTestCase):
def test_something(self):
# Your test here
django-shareddb 的 LiveServerTestCase 简单来说就是 Django 版本的克隆,但它使用的是 django.test.TestCase 而不是 django.test.TransactionTestCase。
链接
此项目的代码可在 GitHub 上找到:https://github.com/rbarrois/django-shareddb
它在 PyPI 上可用:https://pypi.python.org/pypi/django-shareddb
有关问题、疑问和新功能,请打开 GitHub 上的问题报告:https://github.com/rbarrois/django-shareddb/issues
测试
此库已在 sqlite 和 postgresql 上成功测试。
如果您想用其他数据库进行测试,请克隆它,然后修改 dev/settings.py 以适应您的设置,然后运行 ./manage.py test。
项目详情
django-shareddb-0.1.2.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2417df2886dd45805faedb9e1052a0b5d5455876f44e652c97b1975de6ff819f |
|
MD5 | e50e00c4fd0ab5bb814698a6bcc6d44d |
|
BLAKE2b-256 | 92d793a3ccb2294fb15ed8e6277238a8dadb603757c6499636acff29e15e1213 |