gpt4 book ai didi

django - 如何启动 Django 可重用应用程序的测试?

转载 作者:行者123 更新时间:2023-11-28 19:34:41 25 4
gpt4 key购买 nike

我可以在不将此应用合并到项目中的情况下为我的可重用 Django 应用启动测试吗?

我的应用程序使用了一些模型,因此需要提供(TEST_)DATABASE_* 设置。我应该在哪里存储它们以及我应该如何启动测试?

对于 Django 项目,我可以使用 manage.py test 运行测试;当我在我的独立应用程序中使用 django-admin.py test 时,我得到:

Error: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

此处的最佳做法是什么?

最佳答案

Django (>= 1.4) test runner 的正确用法如下:

import django, sys
from django.conf import settings

settings.configure(DEBUG=True,
DATABASES={
'default': {
'ENGINE': 'django.db.backends.sqlite3',
}
},
ROOT_URLCONF='myapp.urls',
INSTALLED_APPS=('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'myapp',))

try:
# Django < 1.8
from django.test.simple import DjangoTestSuiteRunner
test_runner = DjangoTestSuiteRunner(verbosity=1)
except ImportError:
# Django >= 1.8
django.setup()
from django.test.runner import DiscoverRunner
test_runner = DiscoverRunner(verbosity=1)

failures = test_runner.run_tests(['myapp'])
if failures:
sys.exit(failures)

DjangoTestSuiteRunner 和 DiscoverRunner 具有大部分兼容的接口(interface)。

有关更多信息,您应该查阅“定义测试运行程序”文档:

关于django - 如何启动 Django 可重用应用程序的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com