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

516
Vistas
¿Cómo comparar dos archivos como parte de unittest, mientras se obtiene un resultado útil en caso de discrepancia?

Como parte de algunas pruebas de Python que usan el marco unittest , necesito comparar dos archivos de texto relativamente cortos, donde uno es un archivo de salida de prueba y el otro es un archivo de referencia.

El enfoque inmediato es:

 import filecmp ... self.assertTrue(filecmp.cmp(tst_path, ref_path, shallow=False))

Funciona bien si pasa la prueba, pero en caso de falla, no hay mucha ayuda en la salida:

AssertionError: Falso no es cierto

¿Hay una mejor manera de comparar dos archivos como parte del marco de unittest , de modo que se genere algún resultado útil en caso de discrepancia?

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

0

Para obtener un informe de qué línea tiene una diferencia y una copia impresa de esa línea, use assertListEqual en el contenido, por ejemplo

 import io self.assertListEqual( list(io.open(tst_path)), list(io.open(ref_path)))
over 4 years ago · Santiago Trujillo Denunciar

0

Todo lo que necesita hacer es agregar su propio mensaje para la condición de error. doc

self.assertTrue(filecmp(...), 'You error message')

over 4 years ago · Santiago Trujillo Denunciar

0

La comparación de los archivos en forma de matrices conlleva errores de afirmación significativos:

 assert [row for row in open(actual_path)] == [row for row in open(expected_path)]

Puede usar eso cada vez que necesite comparar archivos, o ponerlo en una función. También puede colocar los archivos en forma de cadenas de texto en lugar de matrices.

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