usar unitarias tutorial pruebas node como node.js typescript mocha

node.js - unitarias - npm chai



¿Cómo ejecutar las pruebas de Mocha escritas en TypeScript? (2)

Para cualquiera que haya intentado y haya tenido problemas con el mecanografiado, es posible que desee probar ts-node .

$ npm install -g ts-node $ mocha test.ts --require ts-node/register src/**/*.spec.ts

También parece que ha habido alguna discusión en curso sobre la desaprobación de mecanografía-requieren a favor de ts-node.

Configuración: Tengo un proyecto de nodo (nodo puro, sin bits del navegador) escrito en TypeScript. Puedo usar el compilador de TypeScript ( tsc ) del módulo de typescript para compilar el código. Hasta aquí todo bien.

Sin embargo, quiero escribir pruebas usando Mocha, y ahí es donde tengo problemas. Intenté --compilers ts:typescript , pero sigo recibiendo errores como:

error TS5023: Unknown compiler option ''compilers''.

Parece que la línea de comando para mocha termina pasando a tsc , lo que obviamente no es bueno.


No use esta respuesta. mecanografiado-require no se mantiene, y ts-node es su reemplazo. Dejando esta respuesta aquí para la posteridad.

Lo encontré. El módulo de typescript es en realidad como una función "principal"; ejecuta el compilador tan pronto como se carga el módulo. No es un diseño muy agradable.

Hice clic en las pruebas de aceptación de Mocha, que muestran cómo usar un compilador personalizado para archivos foo . Lo conectan a través del mecanismo require.extensions . Estaba a la mitad de escribir un módulo que solo llama a tsc en la línea de comando cuando me di cuenta de que alguien debe haber hecho esto antes. Entonces es muy simple:

$ npm install typescript-require --save-dev $ mocha --compilers ts:typescript-require