从 Visual Studio 测试资源管理器开始测试运行不会在运行测试之前调用数据库创建和 Django setup()。
我目前的解决方法是调用这样的东西,我保留在 config.settings.test
def setUpTestingWithDatabase():
import os
from django.test.utils import setup_test_environment
from django import setup
os.environ["DJANGO_SETTINGS_MODULE"] = "config.settings.test"
setup_test_environment()
setup()
通过将此代码添加到每个测试文件的顶部:
import sys
if not ('manage.py' in sys.argv):
from config.settings.test import setUpTestingWithDatabase
setUpTestingWithDatabase()
这行得通,并且仍然可以使用鼻子跑步者,以及像这样的 CLI 调用
> python manage.py test myApp
这一切都很好,但我想避免使用此代码,保持原样并从 CLI 和测试资源管理器中使用它。MS Visual Studio 支持runsettings,不知道能不能用?还有其他想法吗?