跳转到主要内容

从django-cms修改了测试实用工具,作为独立模块

项目描述

================
django-easytests
================

基于django-cms测试实用工具的测试设置工具

安装
------------

对于当前稳定版本

::

pip install django-easytests

对于开发版本

::

pip install -e git+git://github.com/fivethreeo/django-easytests.git@develop#egg=django-easytests

develop.py中的示例用法
-----------------------------

::

#!/usr/bin/env python

from djeasytests.testsetup import TestSetup

settings = dict(
ROOT_URLCONF='appname_test_project.urls',
INSTALLED_APPS = [
'appname_test_project',
'appname',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.staticfiles'
]
)

testsetup = TestSetup(
appname='appname',
test_settings=settings
)

if __name__ == '__main__'
testsetup.run(__file__)

项目结构
-----------------

如何布局文件以使用django-easytests:

django-appname
...
appname/
__init__.py
views.py
urls.py
models.py
tests.py
testing/
appname_test_project/
__init__.py
templates/appname/
README.rst
MANIFEST.in
LICENSE
.travis.yml
develop.py
...

运行测试和命令
--------------------------

::

develop.py test
develop.py --failfast test
develop.py --parallel test
develop.py --migrate test
develop.py test test_labels here
develop.py timed test
develop.py isolated test
develop.py manage help
develop.py manage syncdb
develop.py server

使用自定义数据库
-----------------------

只需设置环境变量:

export DATABASE_URL="postgres://myuser:mypass@localhost/mydb"

然后进行测试,服务器和管理将使用此数据库。

使用现有设置
-----------------------

适用于测试项目

appname/base_settings.py
========================

::

ROOT_URLCONF = 'appname.urls',
INSTALLED_APPS = [
'appname'.
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.staticfiles'
]


appname/settings.py
===================

::

from appname.base_settings import *
from local_settings import *

appname/local_settings.py
=========================

::

SOME_LOCAL_SETTING = False


develop.py
==========

::

settings = dict(
DEBUG = True
)

from appname import base_settings
testsetup = TestSetup(
appname='appname',
test_settings=settings,
fallback_settings=base_settings
)

if __name__ == '__main__'
testsetup.run(__file__)

default_settings
================

默认情况下,fallback_settings将与default_settings(默认为django.conf.global_settings)合并,就像在djangos settings.configure中一样。

可以通过向TestSetup传递一个除global_settings之外的其他模块/对象来更改此设置。

::

from appname import other_global_settings
testsetup = TestSetup(
appname='appname',
test_settings=settings,
fallback_settings=base_settings,
default_settings=other_global_settings
)

额外的测试应用程序(test_modules)
==========================================

假设当测试数量呈指数增长时,你想要以下文件结构:

django-appname
...
appname/
__init__.py
views.py
urls.py
models.py
testing/
appname_test_project/
__init__.py
templates/appname/
appname_modeltests/
__init__.py
tests.py
models.py
appname_admintests/
__init__.py
tests.py
models.py
appname_somethertests/
__init__.py
tests.py
models.py
README.rst
MANIFEST.in
LICENSE
.travis.yml
develop.py
...

在develop.py中:

from djeasytests.testsetup import TestSetup

settings = dict(
ROOT_URLCONF='appname_test_project.urls',
INSTALLED_APPS = [
'appname_modeltests',
'appname_admintests',
'appname_somethertests',
'appname_test_project',
'appname',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.staticfiles'
]
)

testsetup = TestSetup(
appname='appname',
test_settings=settings,
test_modules=['appname_modeltests','appname_admintests','appname_somethertests']
)


if __name__ == '__main__'
testsetup.run(__file__)

项目详情


下载文件

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

源分布

django-easytests-0.9.4.zip (11.7 kB 查看散列)

上传时间

由以下支持

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