Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

233
Vistas
¿UUID falla en la prueba de pytest de la unidad debido al formateo?

Estoy devolviendo el UUID de un usuario en mi serializador y esto funciona bien. Sin embargo, al escribir una prueba unitaria para probar este retorno, la prueba falla a pesar de que se llaman de la misma manera. A continuación se muestra una versión simplificada de mi código.

Mi serializadores.py:

 class UserSerializer(serializers.ModelSerializer): user_sso = serializers.SerializerMethodField("get_user_sso") class Meta: model = get_user_model() fields = ( "user_sso", ) def get_user_sso(self, user): return user.profile.sso_id

Mi prueba unitaria en test_views.py

 class TestUserAPIView(BaseAPIViewTest): factory = factories.UserFactory def expected_response(self, user): return { "user_sso": user.profile.sso_id, }

El mensaje de prueba fallida (el usuario generado desde una fábrica es el primero):

 E - 'user_sso': UUID('f696d740-bdd5-43a3-8f58-406b7a1e117d')}, E ? ----- - E + 'user_sso': 'f696d740-bdd5-43a3-8f58-406b7a1e117d'},

¿Cómo hago para que pase esta prueba?

No tengo la palabra 'UUID(' al comienzo de mi salida actual, que parece ser el problema, pero no estoy seguro de cómo eliminar esto sin que todo forme una cadena. Muchas gracias.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tome el resultado de str(…) como respuesta; de lo contrario, tomará el UUID en sí mismo, así que:

 class UserSerializer(serializers.ModelSerializer): user_sso = serializers.SerializerMethodField("get_user_sso") # … def get_user_sso(self, user): return str( user.profile.sso_id )
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda