【问题标题】:Multiple POSTs in a Django unit testDjango 单元测试中的多个 POST
【发布时间】:2010-12-10 18:38:15
【问题描述】:

我正在编写单元测试来验证个人资料头像模块。所以,我有一个允许用户上传头像的表单。如果存在,它只是替换当前的。

在我的测试中,我执行以下操作(类设置将用户登录 - 此处未显示):

    f = open('testfile1.jpg')
    data = {'image':f}
    response = self.client.post('/profile/uploadavatar/',data)
    self.assertEqual(response.status_code, 200)
    self.assertEqual(self.user1.get_profile().avatar.image.name, u'uploads/images/testfile1.jpg')
    f.close()

    f = open('testfile2.jpg')
    data = {'image':f}
    response = self.client.post('/profile/uploadavatar/',data)
    self.assertEqual(response.status_code, 200)
    self.assertEqual(self.user1.get_profile().avatar.image.name, u'uploads/images/testfile2.jpg')
    f.close()

第二个 assertEqual 测试头像图像名称总是失败,因为它仍然设置为第一个文件名 (testfile1.jpg)。但是,当我手动测试此代码时,代码会执行我认为应该做的事情,即用新头像替换旧头像。

我做错了吗?我是 django 单元测试的新手,所以我可能遗漏了一些非常简单的东西......

任何想法都将不胜感激。

提前致谢!

【问题讨论】:

  • 在上传之间重新加载用户对象。
  • 感谢亚当!做到了:) 干杯

标签: django unit-testing


【解决方案1】:

“self.user1”对象以及配置文件在开头被缓存。

在操作之间重新加载用户/配置文件对象以查看更新的数据。

(从 cmets 中拔出。)

【讨论】:

    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 2011-12-04
    • 2017-10-19
    • 1970-01-01
    相关资源
    最近更新 更多