我试图覆盖DJango 1.6自定义testrunner,我想覆盖teardown_database和teardown_test方法以避免删除测试数据(我想查看数据库内部...):
#!/usr/bin/env python
from django.test.simple import DjangoTestSuiteRunner
from django.conf import settings
class KeepDBTestRunner(DjangoTestSuiteRunner):
def teardown_databases(self, old_config, **kwargs):
pass
def teardown_test_environment(self, **kwargs):
pass
但是当我使用带有--testrunner选项的testrunner运行manage.py测试时,我得到:
Creating test database for alias 'default'
...
Ran 230 tests in 1.364s
如果没有自定义testrunner,它只运行我写过的3个测试。
我的自定义testrunner出了什么问题,我覆盖了一个简单的方法,但似乎系统运行另一个测试集....
感谢。
答案 0 :(得分:0)
另一种方法是通过在 TEST_RUNNER
中设置 settings.py
变量,将 Django 指向您的自定义测试运行器类
例如
TEST_RUNNER = 'mymodule.KeepDBTestRunner'
见https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-TEST_RUNNER