我们所做的是覆盖默认的test_runner,以便它不会创建一个新的数据库来进行测试.这样,它就可以针对我们当前的本地数据库运行测试.但是,如果您使用此方法,请务必小心,因为您在测试中对数据所做的任何更改都将是永久性的.我确保所有测试都将所有更改恢复到原始状态,并将我们原始版本的数据库保留在服务器上并进行备份.

所以要做到这一点,你需要将run_test方法从django.test.simple复制到项目中的某个位置 – 我把它放在myproject / test / test_runner.py中

然后对该方法进行以下更改:

// change

old_name = settings.DATABASE_NAME

from django.db import connection

connection.creation.create_test_db(verbosity, autoclobber=not interactive)

result = unittest.TextTestRunner(verbosity=verbosity).run(suite)

connection.creation.destroy_test_db(old_name, verbosity)

// to:

result = unittest.TextTestRunner(verbosity=verbosity).run(suite)

确保在顶部执行所有必要的导入,然后在设置文件中设置设置:

TEST_RUNNER = 'myproject.test.test_runner.run_tests'

现在,当您运行./manage.py测试时,Django将针对数据库的当前状态运行测试,而不是根据您当前的模型定义创建新版本.

您可以做的另一件事是在本地创建数据库的副本,然后检查新的run_test()方法,如下所示:

if settings.DATABASE_NAME != 'my_test_db':

sys.exit("You cannot run tests using the %s database. Please switch DATABASE_NAME to my_test_db in settings.py" % settings.DATABASE_NAME)

这样就没有针对主数据库运行测试的危险.

python数据库模式_python – 如何测试django数据库模式?相关推荐

  1. python多线程读取数据库数据_Python基于多线程操作数据库相关知识点详解

    Python基于多线程操作数据库相关问题分析 本文实例分析了Python多线程操作数据库相关问题.分享给大家供大家参考,具体如下: python多线程并发操作数据库,会存在链接数据库超时.数据库连接丢 ...

  2. mysql数据库python基础知识_python学习之Mysql数据库编程基础知识介绍

    在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Pytho ...

  3. python数组追加_python向数组追加数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. python数据驱动库_python webdriver测试框架--数据驱动DB驱动

    简介: 数据驱动数据库驱动方式,就是数据配置在数据库里面,主程序调用的时候每次用从数据库里取出的数据作为参数,进行操作, 需要掌握的地方是对数据库的操作,要灵活的找到目标数据 测试数据: 创建数据库. ...

  5. python语言数据库规模_Python语言访问MySQL数据库

    4.使用python语言访问MySQL 1)pymysql库:Python语言访问MySQL接口 -安装: 在线:pip install pymysql 离线: 第一步:下载安装包,下载地址: htt ...

  6. python多线程读取数据库数据_python多线程操作MySQL数据库pymysql

    python多线程操作MySQL数据库pymysql 项目中使用多线程操作数据库提示错误:pymysql.err.InterfaceError: (0, "),原因是pymysql的exec ...

  7. python操作hive数据库代码_Python连接Hive操作数据库

    前言 客户端连接Hive需要使用HiveServer2.HiveServer2是HiveServer的重写版本,HiveServer不支持多个客户端的并发请求.当前HiveServer2是基于Thri ...

  8. python提取数据库数据_Python如何读取MySQL数据库表数据

    本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 ...

  9. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...

    本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...

最新文章

  1. 计算机网络教学重点突破,武汉理工大学计算机网络复习重点教学内容(34页)-原创力文档...
  2. python处理excel表格实例-python读写Excel表格的实例代码
  3. mysql ereg_php中正则表达式匹配函数ereg是不是被弃用了?
  4. Vue + Element UI——监听DOM元素高度和宽度解决方案整理(八种方法)
  5. 使用Python+turtle绘制同心圆
  6. junit:junit_简而言之,JUnit:Hello World
  7. 实验2 操作系统的引导
  8. 支付宝集成——如何在回调地址中使用自定义参数
  9. word中公式和文字不在一条水平线上
  10. 微信公众号关注自动回复,关键词自动回复,一个PHP文件就可以搞定!
  11. Android JNI:lame库的编译及使用
  12. undo歌词中文音译_Undo - Sanna nielsen帮我看看这歌词翻译对么
  13. 43套高质量PPT模板—创意风格主题
  14. 云科技时代力作:《读懂新基建,数字技术带来全民机遇》上市
  15. k8s可视化管理工具Rancher安装和使用
  16. c语言程序小猪佩奇,使用canvas 代码画小猪佩奇(示例代码)
  17. 制作一个简单的新闻客户端
  18. 100个Myeclipse6.5免费注册码
  19. 网站api自己怎么写_网站seo优化中文章标题怎么写?
  20. 第二章数据通信基础(冲!)

热门文章

  1. matlab曲线拟合的应用,MATLAB软件在曲线拟合中的应用
  2. MFC常见控件:滚动条控件
  3. 口嫌体直聂远,撩人于无形茅子俊,《皓镧传》吴谨言求问该选谁?
  4. Windows Azure Cloud Service (8) Role及其生命周期模型
  5. Mysql 5.7 Gtid内部学习(十) 实际案例(二)
  6. Unity 官方教程 学习
  7. JavaScript高级程序设计笔记 事件冒泡和事件捕获
  8. IE下easyui 缓存问题
  9. mysql 数据表中查找重复记录
  10. 20个令人称赞的以办公环境为背景的网站作品