您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

没有数据库的Django单元测试

没有数据库的Django单元测试

你可以继承DjangoTestSuiteRunner的子类,并覆盖setup_databases和teardown_databases方法以进行传递。

创建一个新的设置文件,并将TEST_RUNNER设置为刚创建的新类。然后,在运行测试时,请使用–settings标志指定新的设置文件

这是我所做的:

创建一个类似于以下内容自定义测试服跑步者:

from django.test.simple import DjangoTestSuiteRunner

class NoDbTestRunner(DjangoTestSuiteRunner):
  """ A test runner to test without database creation """

  def setup_databases(self, **kwargs):
    """ Override the database creation defined in parent class """
    pass

  def teardown_databases(self, old_config, **kwargs):
    """ Override the database teardown defined in parent class """
    pass

创建自定义设置:

from mysite.settings import *

# Test runner with no database creation
TEST_RUNNER = 'mysite.scripts.testrunner.NoDbTestRunner'

在运行测试时,将–settings标志设置为新的设置文件,如下所示运行它:

python manage.py test myapp --settings='no_db_settings'

由于Django的1.8,该模块被移动到。django.test.simple.DjangoTestSuiteRunner 'django.test.runner.DiscoverRunner'

Go 2022/1/1 18:23:10 有325人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶