我一直在測試我的應用程序,並陷入了與應用程序本身沒有任何關係的錯誤。我有這樣一個單元測試:TypeError:int()參數必須是字符串或數字,而不是Django中的'AnonymousUser'
class TagSaveAndLoadTest(TestCase):
fixtures = ['users.json']
def setUp(self):
self.client = Client()
self.client.login(user='test_user', password='123')
def test_register_save(self):
tag_dict = {
'sex' : 4,
'drugs' : 3,
'rocknroll' : 1,
}
response = self.client.post('/register/save_tags/', {'skilltags' : json.dumps(tag_dict)})
self.assertEqual(response.status_code, 200)
我得到的錯誤是:TypeError: int() argument must be a string or a number, not 'AnonymousUser'
。出現在回溯中的文件有base.py
,manages.py
,query.py
等。看起來我的請求被卡在中間件的某處,我不知道如何處理它。請求不可能到達我的視圖甚至控制器,甚至有可能?如果'setUp()'函數記錄測試用戶,爲什麼AnonymousUser存在問題?
完整的追溯可以發現here,在此先感謝!