【问题标题】:Users not created correctly in Django test case在 Django 测试用例中未正确创建用户
【发布时间】:2014-06-22 18:29:04
【问题描述】:

我正在运行一个简单的单元测试,以从用户那里获取美味的 API 密钥。为此,我试图在测试用例中创建一个新用户,我对其进行身份验证并获取他们的 API 密钥。 测试用例代码如下:

def setup(self):
    user = User.objects.create(username='test1',password='pass')


 def test_user_api_key_fetch(self):
    user = User.objects.get(username='test1')
    c = Client()
    response = c.post('/login/',{'username':'test1','password':'pass'})
    print response.content
    self.assertTrue(response.status_code == 200)

此测试在第一行失败,断言找不到用户。我检查了User.objects.all(),它是空的。将setup() 更改为包含user.save() 或改用User.objects.create_user() 并不能解决问题。为什么找不到这个用户?

【问题讨论】:

    标签: django django-models django-testing


    【解决方案1】:

    没有创建用户,因为没有运行setup 方法。它应该被称为setUp - 注意大写的U。请参阅Python documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 2021-05-23
      • 2012-07-08
      • 2016-10-16
      相关资源
      最近更新 更多