Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

517
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda