2010-12-10 242 views
0

我在編寫單元測試來驗證配置文件頭像模塊。所以,我有一個允許用戶上傳頭像的表單。如果存在,它只是取代當前的一個。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單元測試,所以我可能會錯過一些非常簡單的...

任何想法,將不勝感激。

提前致謝!

+1

在上傳之間重新加載用戶對象。 – 2010-12-10 18:52:46

+0

謝謝亞當!它做到了:)歡呼聲 – mapes911 2010-12-10 19:46:23

回答

0

將「self.user1」對象與配置文件一起緩存在開頭。

重新加載操作之間的用戶/配置文件對象以查看更新的數據。

(從評論中拉出)