栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django:如何动态创建仅用于测试的模型

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django:如何动态创建仅用于测试的模型

你可以将测试放在

tests/
应用程序的子目录(而不是
tests.py
文件)中,并
tests/models.py
在仅测试模型中包含。

然后提供一个测试运行脚本(示例),其中包含你的tests/“ app” INSTALLED_APPS。(在实际项目中运行应用程序测试时,这是行不通的,因为真实项目中没有测试应用程序INSTALLED_APPS,但是我很少发现从项目中运行可重用的应用程序测试很有用,并且Django 1.6+默认情况下没有。 )

(注意:如果你的测试用例子类

TransactionTestCase
会大大降低测试速度,并且仅在Django 1.7+中不再起作用,则下面描述的替代动态方法仅在Django 1.1+中有效,而在Django 1.7+中则不再适用。用它。)

在测试开始时(即在setUp方法中,或在一组doctests的开始处),可以动态地添加

"myapp.tests"
到INSTALLED_APPS设置中,然后执行以下操作:

from django.core.management import call_commandfrom django.db.models import loadingloading.cache.loaded = Falsecall_command('syncdb', verbosity=0)

然后,在测试结束时,应通过还原旧版本的INSTALLED_APPS并再次清除应用程序缓存来进行清理。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430268.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号