Django包工具集
项目描述
这是Django应用打包的工具集。以下功能可用。
与setup.py一起运行的单元测试工具
仅用于测试的动态添加模型的单元测试工具
在syncdb命令中自动创建用户
如何安装
使用pip命令或easy_install
pip install django-packageutils
假设目录树
django-packagename
+- setup.py
+- RELEASE-VERSION # used for git versioning
+- packagename # your package
+- __init__.py
+- models.py # or whatever
+- tests
+- __init__.py
+- test_models.py # or whatever
+- testapp # App only required in tests of this package
+- __init__.py
+- models.py
+- test # django project for testing
+- __init__.py
+- settings.py
+- manage.py
+- urls.py
+- runtests.py # for running test with setup.py
与setup.py一起运行的单元测试工具
在您的包目录中编写您的 runtests.py
import os
from packageutils.test import get_package_runner
from packageutils.test import run_tests
def runtests(verbosity=1, interactive=True):
package_dir = os.path.dirname(__file__)
test_runner = get_package_runner(package_dir, verbosity, interactive)
run_tests(test_runner, ['some_application_name'])
if __name__ == '__main__':
runtests()
将测试套件添加到您的 setup.py
setup(
# ... some configures
install_requires = [
'distribute', # recommended
'setuptools-git', # recommended
'django-packageutils', # required
# and some other requires
],
test_suite = 'tests.runtests.runtests',
test_require = [
'django',
],
)
然后执行以下命令
python setup.py test
仅用于测试的动态添加模型的单元测试工具
使用Django默认的TestCase,您不能在测试中添加所需的模型。有时您需要额外的模型来测试您的Django包,那么您可以使用 AppTestCase
from packageutils.testcase import AppTestCase
from testapp.models import Article
class TestAppTestCase(AppTestCase):
# Apps only required in this test
installed_apps = [
'packagename.tests.testapp',
]
# Middlewares only required in this test
middleware_classes = [
'testapp.middleware.SomeMiddlewareRequired',
]
def test_creation(self):
article = Article.objects.create(title='foo')
assert Article.objects.filter(title='foo').exists()
在syncdb命令中自动创建用户
在 INSTALLED_APPS 中添加 packageutils.syncdb.autouser,然后在syncdb命令中自动创建管理员用户(密码将设置为“admin”)
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
django-packageutils-0.1.0.tar.gz (22.7 kB 查看哈希值)
构建的分发版
django_packageutils-0.1.0-py2.7.egg (60.1 kB 查看哈希值)