Django执行python manage.py test未创建测试库且测试不运行问题求助
Django TestCase 测试数据库未生成问题排查方案
以下是按优先级排序的排查及解决方法:
- 检查测试用例写法是否符合规则
Django 原生 TestCase 仅会自动执行名称以test开头的方法,你当前代码中的get_user不符合命名要求,若整个测试类无有效测试方法,Django 不会触发测试数据库创建流程。调整方法如下:# 将get_user改为test开头的测试方法,补充断言验证逻辑 def test_get_user(self): user = UserProfile.objects.get(email='test@test.com') self.assertEqual(user.email, 'test@test.com') - 校验数据库配置权限
确认settings.py中DATABASES配置项对应的数据库账号,拥有创建数据库的权限。Django 默认生成的测试数据库名称为配置的业务库名前加test_前缀,账号无建库权限时会直接跳过测试库创建流程,导致测试无法运行。 - 确认
accounts应用已注册
检查INSTALLED_APPS配置项中是否添加了accounts应用,未注册的应用对应的模型不会被Django识别,也不会生成对应测试库表。 - 检查测试目录合法性
确认测试文件所在目录存在__init__.py文件,否则Django无法识别测试模块,不会触发测试执行和建库操作。 - 输出详细日志定位问题
执行测试命令时添加-v 3参数输出全量运行日志,可直接定位到权限报错、配置读取错误等具体根因:python manage.py test -v 3
内容的提问来源于stack exchange,提问作者Yevgeny Skotarenko
相关产品推荐
相关产品推荐

