¿Cómo capturar excepciones en el código de prueba? (Python 3.8) [cerrado] -- python campo con error-handling campo con exception camp codereview Relacionados El problema

How to catch exceptions in test code?(Python 3.8) [closed]


1
vote

problema

Español
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas.

¿Quieres mejorar esta pregunta? Actualizar la pregunta por lo que es on-topic para el intercambio de pila de revisión de código.

cerrado hace 6 meses .

Mejorar esta pregunta

Tengo un script que incluye algunas pruebas independientes que se ejecutan juntas (no paralelamente). Las pruebas incluyen llamadas a algunas bibliotecas que pueden aumentar las excepciones (que indican una falla en la prueba). En lugar de envolver cada llamada con el mecanismo de "intento, excepto", pensé en envolver la prueba con "intentar, excepto" usando el decorador de este tipo:

  def log_exceptions(func):     def inner(*args, **kwargs):         try:             return func(*args, *kwargs)         except Exception as e: # Can be more specific here, I know             logging.error("Python Exception raised from {} - {}".format(func.__name__, e))             ERROR_MSG.append("Python Exception raised from {} - {}".format(func.__name__, e))             return False      return inner  @log_exceptions def test1():     some_funciton_call()   

Donde ERRORT_MSG es una lista de los errores que ocurrieron durante las pruebas.

¿Crees que gestionar las excepciones y errores de esta manera es una buena práctica? ¿Puedes sugerir una forma diferente de capturar excepciones?

¡Gracias! :)

Original en ingles

I have a script that includes some independent tests that run together (not parallelly). The tests include calls for some libraries that might raise exceptions (which indicate of a failure in the test). Instead of wrapping each call with "try - except" mechanism I thought about wrapping the each test with "try - except" using decorator of this kind:

def log_exceptions(func):     def inner(*args, **kwargs):         try:             return func(*args, *kwargs)         except Exception as e: # Can be more specific here, I know             logging.error("Python Exception raised from {} - {}".format(func.__name__, e))             ERROR_MSG.append("Python Exception raised from {} - {}".format(func.__name__, e))             return False      return inner  @log_exceptions def test1():     some_funciton_call() 

Where ERROR_MSG is a list of the errors that occurred during the tests.

Do you think managing the exceptions and errors this way is a good practice? Can you suggest a different way of capturing exceptions?

Thanks! :)

        
   
   

Lista de respuestas


Relacionados problema

1  Mensaje de excepción de java  ( Java exception message ) 
Tengo algunas clases de excepción personalizadas que creé simplemente por tener mi propio mensaje de excepción: public class DivideByZeroException extends ...

6  Manejo de excepciones COM / Códigos ocupados  ( Handling com exceptions busy codes ) 
Este código escribe para sobresalir utilizando la interfaz COM. El tema general es que cualquier manejo de excepciones tiene que manejar la excepción de "Exce...

6  Clase de excepción de C ++ autocontrolada  ( Self implemented c exception class ) 
Escribí mi propia clase de excepciones, derivando de std::runtime_error para tener identificaciones de errores, marcas de tiempo y excepciones internas. Par...

7  ¿Es esta la forma incorrecta de manejar agregateException con tareas?  ( Is this the wrong way to handle aggregateexception with tasks ) 
Estoy viendo un gran código como este en mi nuevo sitio try { Task.Factory.StartNew(() => { ... ...

5  Lanzar una excepción que contiene un conjunto anidado de excepciones anteriores  ( Throw an exception which contains a nested set of previous exceptions ) 
Tengo un conjunto de objetos de dominio que intentan encontrar una solución a un problema. El objeto de nivel superior tiene un algoritmo que divide el prob...

1  Cómo manejar el valor devuelto si se produce una excepción en un código de la biblioteca  ( How to handle returned value if an exception happens in a library code ) 
Hay un código LIB, tratando de analizar un objeto de árbol de elementos. Si ocurre una excepción, devuelve un dict vacío de DICT o un objeto parcialmente cons...

14  ¿Cuál es tu opinión sobre un método de tiro ()?  ( What s your opinion on a throw method ) 
Bloqueado . Esta pregunta y sus respuestas son bloqueadas porque la pregunta es off-topic pero tiene importancia histórica. Actualmente no está a...

9  Proporcionando interfaces de "envoltura" sin marcar para una API con excepciones verificadas  ( Providing unchecked exception wrapper interfaces for an api with checked excep ) 
Bloqueado . Esta pregunta y sus respuestas son bloqueadas porque la pregunta es off-topic pero tiene importancia histórica. Actualmente no está a...

15  Usando finalmente con declaración de retorno o no  ( Using finally with return statement or not ) 
Me preguntaba si es la forma correcta de colocar siempre la declaración de devolución de una función con una cláusula 9988776665544330 en la cláusula 99887...

6  Uso de la excepción al registro de la pila de ejecución  ( Use of exception to log execution stack trace ) 
He estado de ida y vuelta con un colega sobre el uso de Throwable.fillInStackTrace . Este Log clase está destinado a envolver el Fachada de registro simpl...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos