使用不同的配置文件进行测试
我有一个django应用程序,里面有一个settings.py文件。默认情况下,我的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
你有至少两种选择:
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
所以,你可以在运行测试之前设置环境变量,或者在你的测试套件中导入设置并进行配置。