Django 禁用Migrations 给 Unit Test 提速

原创 2017年06月08日 12:51:31

文章地址:https://simpleisbetterthancomplex.com/tips/2016/08/19/django-tip-12-disabling-migrations-to-speed-up-unit-tests.html

Django 框架提供了 test 接口,很简单,自从1.7版本之后添加了 migrations 特性,默认的 test 命令会在每次执行的时候进行 migrations, 导致单元测试很慢啊。。咋办,禁用啊。

一般情况下都会为 test 单独设置一个 settings 配置

比如 tests_settings.py

from settings import *

# Custom settings goes here

然后这样执行测试

python manage.py test --settings=myproject.tests_settings --verbosity=1

Django >=1.8 参数方式

使用keepdb 选项 the test databases

When using the SQLite database engine the tests will by default use an in-memory database

 python manage.py test --keepdb

Django >= 1.9

1.9 中有这么一个配置项目 MIGRATION_MODULES文档

from settings import *

MIGRATION_MODULES = {
    'auth': None,
    'contenttypes': None,
    'default': None,
    'sessions': None,

    'core': None,
    'profiles': None,
    'snippets': None,
    'scaffold_templates': None,
}

Django < 1.9

from settings import *

class DisableMigrations(object):
    def __contains__(self, item):
        return True

    def __getitem__(self, item):
        return 'notmigrations'

MIGRATION_MODULES = DisableMigrations()

Older Django Versions (using South)

SOUTH_TESTS_MIGRATE = False
版权声明:本文为orangleliu (http://blog.csdn.net/orangleliu/)原创文章,自由传播,文章转载请声明, 多谢。

Python学习笔记23:Django搭建简单的博客网站(一)

上一节说了如何下载安装Django,这一节主要将如何使用Django创建运行一个网站。 一 新建工程 命令:django-admin startproject mysite # 有的需要输入:dj...
  • xufeng0991
  • xufeng0991
  • 2014年10月24日 08:36
  • 13989

django入门——从一个demo开始

参考:http://www.runoob.com/django/django-tutorial.html 本文作为对runoob教程学习笔记,以及部分补充 创建第一个项目 使用 django-a...
  • vic_torsun
  • vic_torsun
  • 2017年04月02日 11:04
  • 1365

Android 单元测试(一)概述及Unit Test

概述Unit Test 和 Instrument Test 的区别 Android 单元测试
  • u010218288
  • u010218288
  • 2015年08月25日 10:56
  • 2523

写好unit test的建议和例子

最近翻了下写unit test 的文章,总结如下What’s unit test?“Unit testing is a software testing method by which individ...
  • liangread
  • liangread
  • 2016年10月20日 10:50
  • 366

关于WIN10系统下VS2013安装Unit Test出错的解决办法

很多人都遇到过这样的问题,在WIN10系统下VS2013内,安装Unit Test组件时会遇到提示安装.NET的对话框                                  如图所示。...
  • daiyi103
  • daiyi103
  • 2016年03月23日 16:18
  • 1039

单元测试技术(Unit Test)

下面是对白盒测试和单元测试的区别的论述: 单元测试和白盒测试是不同的,虽然单元测试和白盒测试都是关注功能,他们都需要代码支持,但是级别不同。白盒测试关注的是类中一个方法的功能,是更小的单位,但是完成...
  • pygirlxiaoli
  • pygirlxiaoli
  • 2012年02月14日 16:10
  • 415

VS2010 找不到Silverlight Unit Test Application 工程选项

因为工作需要,目前正准备学习一下silverlight程序的测试。通过资料了解,安装完VS2010后,可以创建一个Silverlight单元测试工程(测试相关框架已经封装在silverlight SD...
  • LoulseLong
  • LoulseLong
  • 2014年02月17日 16:33
  • 907

android unit test

1. am instrument -e class com.android.mediaframeworktest.functional.mediaplayback.MediaPlayerApiTest...
  • eustoma
  • eustoma
  • 2012年03月20日 14:23
  • 1541

iOS下的unit test——GHUnit

GHUnit是一个开源的objective-c的unit test框架,他比起OCUnit来说,配置简单一些,没有Logic Tests和Application Tests的分别,但使用起来需要第三方...
  • sakulafly
  • sakulafly
  • 2013年10月26日 20:33
  • 3234

Powershell Unit Test Code Coverage Implementation

Unit Test framework: https://github.com/pester/Pester C:\PS>./bin/pester.bat just run pester....
  • baidu_20993761
  • baidu_20993761
  • 2014年09月30日 11:00
  • 502
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Django 禁用Migrations 给 Unit Test 提速
举报原因:
原因补充:

(最多只允许输入30个字)