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

2 投票
1 回答
1521 浏览
提问于 2025-04-18 00:08

我有一个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
所以,你可以在运行测试之前设置环境变量,或者在你的测试套件中导入设置并进行配置。

撰写回答