为了账号安全,请及时绑定邮箱和手机立即绑定

当我运行测试时,django 如何重新定义 DJANGO_SETTINGS_MODULE?

当我运行测试时,django 如何重新定义 DJANGO_SETTINGS_MODULE?

人到中年有点甜 2021-09-24 15:38:04
我的项目根目录中有一个“设置”目录。它包含具有设置的不同文件:./settings/tests.py./settings/testing.py./settings/production.py我想使用tests.py进行单元测试(我使用testing.py进行预生产应用程序运行),所以。在manage.py文件中我写了这些代码:...if 'test' in sys.argv:  os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.tests')else:  os.environ.setdefault('DJANGO_SETTINGS_MODULE',                        'settings.production')...当我运行时python manage.py test <app_name>,所有测试都运行良好,并且使用了 settings/tests.py 模块。但是当我运行时python manage.py test,Django 会加载 settigns/testing.py 文件。当我重命名 testing.py 文件时,一切都按我的预期工作:tests.py 模块已加载。在 Django 中为测试定位测试模块有什么逻辑吗?我怎样才能禁用它?
查看完整描述

2 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

问题是模块是通过“test*”模式匹配加载的。


查看完整回答
反对 回复 2021-09-24
  • 2 回答
  • 0 关注
  • 281 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号