为了更快地运行我的测试,我在这个答案中创建了一个无数据库测试运行器。然后我需要将TEST_RUNNER
设置变量设置为我的新测试运行器,但仅限于某些测试。为了实现这一点,我尝试使用django.test.utils.override_settings
这样的装饰器(如在文档中):
from django.test import TestCase
from django.test.utils import override_settings
class MyTestCase(TestCase):
@override_settings(TEST_RUNNER='path_to_my_no_db_test_runner')
def test_my_test_case(self):
...
问题是当我运行这个测试时,django 仍然会创建数据库,这当然不是预期的行为。奇怪的是,如果我TEST_RUNNER
直接在我的中设置settings.py
它可以完美地工作,但django.test.utils.override_settings
它似乎没有任何效果。我也尝试使用这个 override_settings 模块,但得到了相同的结果。
我错了什么?有没有其他方法可以实现这一目标?我宁愿不创建一个并使用参数test_settings.py
运行我的测试。--settings