Django 测试客户端无法使用数据库调用
Django Test Client not working with Database calls
我正在使用 django.test.Client
为 Django 的视图编写测试
在 Django 看来:
usr = User.objects.get(id=2)
它不会 returns User
对象,而是引发错误 ObjectDoesNotExist
。
在 dbshell 中相同的查询工作正常。
这里有什么问题?
在 TestCase
的 setUp()
方法中创建一个用户,或者在固定装置中添加一个。这是 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')
我正在使用 django.test.Client
为 Django 的视图编写测试
在 Django 看来:
usr = User.objects.get(id=2)
它不会 returns User
对象,而是引发错误 ObjectDoesNotExist
。
在 dbshell 中相同的查询工作正常。
这里有什么问题?
在 TestCase
的 setUp()
方法中创建一个用户,或者在固定装置中添加一个。这是 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')