使用不同的设置文件进行测试

时间:2014-03-27 12:34:30

标签: python django unit-testing django-settings

我有一个带有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()

1 个答案:

答案 0 :(得分:0)

您至少有两个选择:
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
因此,要么在运行测试之前设置环境变量,要么导入设置并在测试套件中配置它们。