Funciones de pruebas que producen archivos e imprimen en contra de archivos existentes en Unittests.
Tengo dos scripts .py que toman argumentos desde la línea de comando como entradas. Uno de estos scripts produce otro archivo con datos y el otro simplemente imprime datos en la salida estándar.
Quiero escribir pruebas unitarias para probar el contenido tanto del archivo producido por el primer script como los datos impresos en la salida estándar del segundo script en comparación con archivos existentes.
¿Alguna idea de cómo puedo hacer eso? Mi plan es comparar las cadenas línea por línea para el archivo de salida frente al archivo existente y la salida impresa frente al archivo existente. Pero no estoy seguro de cómo puedo almacenar el contenido ya que ninguno de los scripts devuelve nada porque quiero importar los métodos principales de ambos scripts.
davy.ai
Puede utilizar el módulo unittest para escribir pruebas unitarias para sus scripts.
Para probar el contenido del archivo de salida, puede utilizar el método
assertEqual
para comparar las cadenas línea por línea. Para probar la salida impresa, puede utilizar el métodoassertMultiLineEqual
.Por ejemplo, si tiene un script
script1.py
que produce un archivo de salida, puede escribir una prueba unitaria así:De manera similar, puede escribir una prueba unitaria para el segundo script
script2.py
así: