自定义设置.py用于Django可重复使用的应用程序



我有一个可重用的Django应用程序,我正在将它导入另一个项目中。我希望能够运行该应用程序的测试,这意味着我需要自己的settings.py文件来进行测试。

运行这些测试的公认方式是什么?我注意到一些项目创建了一个runtests.py文件,用于调整Django设置并使用Django测试运行程序。

我还注意到,公司内部项目告诉开发人员创建一个新的设置文件app_tests_settings.py,并使用manage.py:运行测试

./manage.py run tests --settings=app_tests_settings

哪种方式是最好的,还有其他使用自定义设置运行应用程序特定测试的方式吗?

更新:该应用程序需要一个特定的数据库后端,因为它使用PostGIS

您可以覆盖TestCase的setUp方法中的设置。

https://docs.djangoproject.com/en/dev/topics/testing/overview/#overriding-设置

已更新。

平板电脑中的一些代码(https://github.com/django/django/blob/master/django/contrib/flatpages/tests/test_csrf.py):

from django.test.utils import override_settings

@override_settings(
    LOGIN_URL='/accounts/login/',
    MIDDLEWARE_CLASSES=(
        'django.middleware.common.CommonMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    ),
    TEMPLATE_DIRS=(
        os.path.join(os.path.dirname(__file__), 'templates'),
    ),
    SITE_ID=1,
)
class FlatpageCSRFTests(TestCase):
    fixtures = ['sample_flatpages', 'example_site']
    ...

相关内容

  • 没有找到相关文章

最新更新