【问题标题】:Use different settings file for testing使用不同的设置文件进行测试
【发布时间】:2014-05-06 10:31:04
【问题描述】:

我有一个带有 settings.py 文件的 django 应用程序。默认情况下,我的 django 应用程序采用此文件,但对于测试,我需要另一个 settings.py 文件(例如,tests/settings_test.py)。

我正在使用 unittest 进行测试。

我的问题:如何配置我的测试以使用 tests/settings_test.py 文件而不是默认的 settings.py 文件?

test_mytest.py

import unittest
import os
import sys
class TestBase(unittest.TestCase):

....

if __name__ == '__main__':
    print os.environ['DJANGO_SETTINGS_MODULE'] # It shows 'myappication.settings'
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myappication.tests.settings")
    print os.environ['DJANGO_SETTINGS_MODULE'] # It shows 'myappication.settings' and I think it should show 'myappication.tests.settings'
    unittest.main()

【问题讨论】:

    标签: python django unit-testing django-settings


    【解决方案1】:

    您至少有两个选择:
    1.环境变量https://docs.djangoproject.com/en/dev/topics/settings/#envvar-DJANGO_SETTINGS_MODULE
    2.配置https://docs.djangoproject.com/en/dev/topics/settings/#custom-default-settings
    因此,要么在运行测试之前设置环境变量,要么导入设置并在测试套件中配置它们。

    【讨论】:

    • 我已经尝试过该选项,但它对我不起作用。我已经用更多信息更新了我的帖子。
    猜你喜欢
    • 2014-06-22
    • 2019-03-24
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2020-02-15
    • 2016-11-05
    相关资源
    最近更新 更多