解决我问题的最终解决方案是强制Django在测试期间禁用迁移,这可以通过如下设置完成
TESTING = 'test' in sys.argv[1:]
if TESTING:
print('=========================')
print('In TEST Mode - Disableling Migrations')
print('=========================')
class DisableMigrations(object):
def __contains__(self, item):
return True
def __getitem__(self, item):
return "notmigrations"
MIGRATION_MODULES = DisableMigrations()
或使用https://pypi.python.org/pypi/django-test-without- migrations
我的整个测试现在大约需要1分钟,而一个小应用程序则需要5秒。
就我而言,在迁移时更新测试时不需要进行迁移,并且不使用迁移来添加数据。这并不适合所有人