He estado probando mi aplicación y me he quedado atrapado en un error que no parece tener nada que ver con la aplicación. Tengo una prueba de unidad de la siguiente manera:TypeError: el argumento int() debe ser una cadena o un número, no 'Usuario anónimo' en Django
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)
El error que consigo es: TypeError: int() argument must be a string or a number, not 'AnonymousUser'
. Los archivos que aparecen en el rastreo son base.py
, manages.py
, query.py
, etc. Parece que mi solicitud se queda atascada en algún lugar del middleware, y no tengo ni idea de cómo manejarlo. ¿Cómo es posible que la solicitud no llegue a mi vista o incluso al controlador? ¿Por qué hay un problema con AnonymousUser si la función 'setUp()' registra un usuario de prueba?
rastreo completo se puede encontrar here, gracias de antemano!