Pruebas de Mocha individuales de salida
Estoy buscando una forma de proporcionar una salida booleana única desde mis pruebas de mocha en lugar de la lista de pruebas estándar. Si todas las pruebas pasaron, debería devolver verdadero; de lo contrario, falso. Está bien si está escrito en un archivo separado en un servidor; ni siquiera necesitamos suprimir los registros, pero no pude encontrar una forma de usar la función after() para obtener una lista de todas las pruebas que se han ejecutado y sus resultados.
¿Alguna idea?
davy.ai
Una posible solución para proporcionar una sola salida booleana a partir de las pruebas de Mocha es crear un archivo o módulo separado que ejecute las pruebas y devuelva un valor booleano en función de los resultados de las pruebas. Este archivo puede ser ejecutado por separado en el servidor y el valor booleano puede ser utilizado en otros componentes de la aplicación.
Para crear este archivo, puede utilizar la API programática de Mocha para ejecutar las pruebas y capturar los resultados. Luego puede recorrer los resultados y comprobar si alguna prueba falló. Aquí hay un ejemplo de implementación:
En este ejemplo, la función
runTests
crea una nueva instancia deMocha
, añade el archivo de pruebas y ejecuta las pruebas utilizando el métodorun
. La función devuelve una promesa que se resuelve con un valor booleano que indica si todas las pruebas pasaron.Para comprobar si alguna prueba falló, la función escucha el evento
test end
, que se emite después de que cada prueba haya finalizado su ejecución. Los detalles de cada prueba se almacenan en un array, que posteriormente se recorre para comprobar si alguna prueba ha fallado.Una vez que las pruebas han finalizado su ejecución (cuando se emite el evento
end
), la función resuelve la promesa con el valor booleano.Para utilizar este archivo, puede ejecutarlo por separado en el servidor y utilizar el valor booleano en otras partes de la aplicación. Por ejemplo:
Esto ejecutará las pruebas y mostrará el resultado booleano en la consola. Luego, puede utilizar el resultado en otras partes de la aplicación, como en una declaración condicional para activar diferentes comportamientos en función de los resultados de las pruebas.