【问题标题】:Django testing database for multiple developers面向多个开发人员的 Django 测试数据库
【发布时间】:2019-07-17 20:56:30
【问题描述】:
我们的开发数据库(在本例中为 MariaDB)位于服务器上,并且开发数据库实例由在本地桌面上工作的多个开发人员共享。如果我们都同时运行 Django 测试(manage.py 测试),是否可能会发生冲突,本地测试运行者会在测试数据库实例中创建/删除相同的对象?
我假设每个开发人员都应该拥有自己的本地数据库,以便他们在将更改部署到服务器之前进行隔离测试?
这是在 Django 1.11 上运行的。
【问题讨论】:
标签:
django
django-testing
django-tests
【解决方案1】:
如果您的团队都在您的设置中指向同一个数据库主机,那么是的,这可能会导致冲突和问题。但是,Django 允许您指定测试数据库的设置。因此,您的每个团队都可以在本地设置自己的测试设置以防止这种情况发生。 This answer 到一个相关问题可以很好地解释我的意思。
代码 sn-p 以防上述链接中断:Django 1.10+
DATABASES = {
'default':{
'ENGINE':'mysql',
'NAME':'testsqldb',
'USER':'<username>',
'PASSWORD':'<password>',
'TEST': {
'NAME': 'auto_tests',
}
}
}