¿Cómo ejecutar las pruebas Mocha escritas en TypeScript?

Configuración: Tengo un proyecto Node (Nodo puro, sin bits de navegador) escrito en TypeScript. Puedo usar el comstackdor de TypeScript ( tsc ) del módulo de typescript tipos para comstackr el código. Hasta ahora tan bueno.

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

 error TS5023: Unknown compiler option 'compilers'. 

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

Para cualquier persona que haya intentado y haya tenido problemas con la escritura de caracteres, 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 un debate en curso sobre la desestimación de mecanografia-requerimiento a favor de ts-node.

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

Lo encontré. El módulo de typescript tipos es en realidad como una función “principal”; ejecuta el comstackdor tan pronto como se carga el módulo. No es un diseño muy bonito.

Revisé las pruebas de aceptación de Mocha, que muestran cómo usar un comstackdor personalizado para archivos foo . Lo cablean a través del mecanismo require.extensions . Estaba a medio camino de escribir un módulo que simplemente llama a tsc en la línea de comandos cuando me di cuenta de que alguien debía haberlo hecho antes. Así que es muy simple:

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