Django 测试客户端无法使用数据库调用

Django Test Client not working with Database calls

我正在使用 django.test.Client 为 Django 的视图编写测试

在 Django 看来:

usr = User.objects.get(id=2)

它不会 returns User 对象,而是引发错误 ObjectDoesNotExist

在 dbshel​​l 中相同的查询工作正常。

这里有什么问题?

TestCasesetUp() 方法中创建一个用户,或者在固定装置中添加一个。这是 setUp() 版本:

class YourTestCase(TestCase):

    def setUp(self):
        self.user = User.objects.create(
            username='someuser',
            email='someuser@example.com',
            password='password'
        )

    def test_your_code(self):
        # now you can look it up
        user = User.objects.get(username='someuser')
        self.assertEqual(user.email, 'someuser@example.com')