擅长:python、mysql、java
<p>这是一种常见而正确的行为。Django在测试时总是尝试创建新的数据库,而且您永远不应该尝试在您的实时/生产数据库上测试应用程序。在</p>
<p>您的测试应该以一种方式构建,即创建对象,然后测试它们的行为。在heroku上使用postgres,在development server上使用mysql。如果你想使用这个数据库来测试你的应用程序,你必须添加django用户到你的postgres/mysql,拥有创建和删除数据库/表的权限。在</p>
<p>也可以通过将此设置添加到py设置(当我不使用任何其他扩展和sqlite3数据库就足够时,我喜欢这样做。我通过输入<code>python manage.py test</code>来运行测试</p>
<pre><code>if any([arg in sys.argv for arg in ['jenkins', 'test']]):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase',
}
}
</code></pre>