跳转到主要内容

一个轻量级的Django "测试"命令,用于快速运行unittest。

项目描述

一个轻量级的Django manage.py litetest 命令,用于快速运行unittest。

如果你在Django上开发了一段时间,你可能已经编写了很多测试。这是很好的,但它们可能需要很长时间才能运行。如果你进行任何形式的测试驱动开发,慢速测试意味着一个令人沮丧的编辑-测试循环。

django-litetest 通过做一些事情来帮助你快速运行轻量级的测试

  • 使用内存中的 SQLite 数据库代替您通常的测试数据库,

  • 使用内存中的缓存代替您通常的缓存,

  • 如果您使用 South,则直接创建模型。

使用 django-litetest,修复错误变得和这样一样快

  1. 添加一个新的测试来重现错误,

  2. 运行 manage.py litetest testname

  3. 编辑代码以修复错误,

  4. 再次运行 manage.py litetest testname

  5. 运行 manage.py test 以确保所有测试都通过。

安装

您可以通过以下方式获取源代码的副本

$ git clone https://github.com/sfllaw/django-litetest.git

此应用需要

  • Python 2.6 或更高版本,

  • Django 1.3 或更高版本,

  • SpatiaLite(GIS 可选)。

此外,此应用可在 PyPi 上获取

$ pip install django-litetest

配置

在您的 Django settings 文件中

  • 'django_litetest' 添加到 INSTALLED_APPS 中(如果使用 South,则在 'south' 之后),

  • 'LITETEST': True 添加到您想要加速的每个 DATABASES 中,

  • 'LITETEST': True 添加到您想要加速的每个 CACHES 中,

  • 如果您使用 South,将 SOUTH_TESTS_MIGRATE = 'LITETEST' 设置为避免迁移。

示例 settings 文件

INSTALLED_APPS = (
    'south',
    'django_litetest',
    ...
)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db',
        'USER': 'user',
        'PASSWORD': 'password',
        'HOST': 'db.example.com',
        'PORT': '',
        'LITETEST': True,
    }
}

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': 'memcache.example.com:11211',
        'LITETEST': True,
    },
}

SOUTH_TESTS_MIGRATE = 'LITETEST'

报告错误和提交补丁

请检查我们的 问题跟踪器 了解已知的错误和功能请求。

我们接受修复和新增功能的拉取请求。

作者

Simon Law <sfllaw@sfllaw.ca>

支持者

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