No, no tiene sentido desarrollar un analizador. Puede obtener la información equivalente de las clases en el módulo runner.py.
considerar la prolongación de ambas clases TextTestRunner y TextTestResult con cierta lógica de negocio (Python 2.7). El resultado que ha enumerado es producido por TextTestResult.
Alternativamente, puede extenderse sólo TextTestResult y alterar el atributo de clase TextTestRunner.resultclass ajustarlo a su nuevo nombre de la clase de extensión.
Los datos que puede extraer de TextTestResult y poner en una lista de diccionarios son mayores o equivalentes a los datos que su analizador es capaz de extraer.
El marco de prueba unitario permite tales trucos debido a su diseño flexible. Espero que haya sido útil.
[EDITAR]
que iba a encontrar la publicación de sus resultados hasta el momento (por ejemplo, como un código de fuente abierta en github) potencialmente muy útil para las personas que encuentran su pregunta!
Habiendo dicho eso, dudo que sea fácil mejorar el analizador real más allá del análisis básico de expresiones regulares.
Si todavía desea seguir el enfoque de análisis de texto, es posible que necesite enumerar y describir "todos los sabores del formato de prueba de unidad de Python" que desea cubrir/apoyar. Si tiene la suerte de poner esa descripción en forma de gramática libre de contexto, entonces tal vez podría desarrollar un analizador sintáctico, que abarcaría "esos" casos como una forma de lenguaje.
Tenga en cuenta que si el análisis de texto no está cubierto por simple expresión regular y existe la posibilidad de que esté tratando de analizar un lenguaje irregular (sensible al contexto), lo más probable es que le resulte extremadamente difícil cumplir.
Sí, lo vale –
Es un trabajo para una prueba * runner * como 'nose' o' py.test' para proporcionar un resultado analizable, como el formato XUnit XML. – jfs