我正在设置一个非常简单的 Django 项目,并进行了一个非常简单的测试,例如:
def test_name(self):
t = Thing.objects.create(name='a')
print(t.id)
import time
time.sleep(30)
self.assertEqual('a', t.name)
测试当然通过了,但是数据库(TEST
数据库)没有填充我的Thing
模型信息,即使我实际上可以看到它id
,就像你看到我的脚本一样。
当我连接到数据库时,Thing
表总是空的(我还在文档中看到了一些关于它的评论)。
现在,我如何告诉 Django 实际填充数据?我正在使用 mysql,并检查完整的日志,我看到 DjangoSAVEPOINT
在填充数据(未提交)之前创建了一个,一旦测试通过,它就会回到之前的SAVEPOINT
.
我在用:
Django==2.0.1
mysqlclient==1.3.12
pytest==3.3.2
pytest-django==3.1.2
我希望 DjangoTEST
使用来自我的测试的信息来实际填充数据库,最后删除该数据库,这就是为什么我假设 Django 正在创建一个全新的数据库只是为了测试。