Django单元测试中的多个POST

2020年1月28日 33点热度 0条评论 来源: mapes911

我在编写单元测试来验证配置文件头像模块。所以,我有一个允许用户上传头像的表单。如果存在,它只是取代当前的一个。Django单元测试中的多个POST

在我的测试,我做了以下(类设置登录用户的 - 这里没有显示):

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单元测试,所以我可能会错过一些非常简单的...

任何想法,将不胜感激。

提前致谢!


===========解决方案如下:

将“self.user1”对象与配置文件一起缓存在开头。

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

(从评论中拉出)

    原文作者:mapes911
    原文地址: https://stackoverflow.com/q/4412137
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。