También hay un ejecutor de línea de comandos (CLI), que se habilita con guión, guión, prueba. Y si estás utilizando una versión anterior de Node que, ya sabes, no se ha adaptado a esto, como por ejemplo, actualmente Node 14 no tiene soporte para ello.
Algunas personas amables tomaron el código de Core, lo pusieron en un paquete en npm, y puedes instalarlo desde allí y obtener casi todas las mismas funcionalidades. Por lo tanto, admite muchas de las cosas que esperarías que un ejecutor de pruebas, soporte de pruebas, admita de forma predeterminada.
Por lo tanto, tiene subpruebas. Puede saltar pruebas. Puedes especificar solo pruebas, por lo que solo quieres ejecutar un subconjunto de tu conjunto de pruebas. Ganchos del ciclo de vida, como antes, antes de cada uno, después y después de cada uno, y cosas así. Y también admite simulación de forma predeterminada.
Actualmente no admite la simulación de módulos completos. Debido a algunas limitaciones en los módulos ES. Pero puedes simular funciones, métodos y cosas así. Tiene cobertura de código incorporada de forma predeterminada, que puedes habilitar con la bandera --experimental-test-coverage del CLI. Y ahora también puedes generar tus propios reportes personalizados.
Por lo tanto, hay algunos que están integrados en Node. De forma predeterminada, será TAP, que significa Protocolo de Prueba de Cualquier Cosa, que es un formato para expresar resultados de pruebas, que se utiliza, entre otros ecosistemas, no solo en Node.js. Y eso se enviará a través de la salida estándar, pero puedes personalizarlo. Puedes usar SPEC, que es un formato más legible para humanos. TAP, el formato pequeño donde solo se muestran puntos con X. No sé cómo se llama eso. Y luego puedes usar la bandera de destino del reporte de prueba, donde puedes decir dónde quieres que se envíen tus resultados. Por defecto, es la salida estándar, pero puedes usar la salida de error estándar y otras cosas.
Esto es solo una imagen rápida de cómo se ve una prueba. Admitimos pruebas sincrónicas, pruebas asincrónicas, devoluciones de llamada, etc. A la izquierda, aquí está lo que obtendrías si ejecutases la prueba anterior y generases la salida TAP. A la derecha está lo que obtienes con el reporte SPEC. Si quieres colores y cosas que sean un poco más amigables para los humanos, puedes usar eso.
Del TestRunner también surgió otra nueva característica llamada módulos principales solo con prefijo 'node-'. La diferencia aquí, si miras en la parte superior, estamos importando node:test y node:assert. Cada módulo principal se puede importar usando el prefijo 'node:', y eso es bueno porque permite que las herramientas y las personas que leen el código lo sepan.
Comments