小编Mat*_*ese的帖子

为什么 Django 实际上不编写测试数据库的更改

在我的 settings.py 我有这个:

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'foo',
    'USER': 'foo',
    'PASSWORD': 'foo',
    'HOST': 'localhost',
    },
}
Run Code Online (Sandbox Code Playgroud)

我在我的数据库上运行了这个 SQL:

GRANT ALL ON test_foo.* TO 'foo'@'localhost';
Run Code Online (Sandbox Code Playgroud)

我已经通过我的测试提炼了我想要弄清楚的东西:

from django.test import TestCase
from django.contrib.auth.models import User

class UserTestCase(TestCase):

    def test_create_user(self):
        user = User.objects.create_user(
            username='jacob', email='jacob@bla.net', password='top_secret')
        user.save()
        user = User.objects.get(username="jacob")
        import ipdb; ipdb.set_trace()
        self.assertTrue(False)
Run Code Online (Sandbox Code Playgroud)

当我运行测试并遇到断点时,我查询了 test_foo 中的 auth_user 表,它是空的。

为什么是这样?谢谢

django

2
推荐指数
1
解决办法
808
查看次数

标签 统计

django ×1