Soy nuevo en Node y JS Testing. Tengo aplicaciones web con Webpack como paquete. Tengo algunos JS de punto de entrada que están incluidos en la página. Los puntos de entrada están utilizando archivos de módulo como este:
export default function() { ... }Ahora me gustaría realizar una prueba unitaria de este módulo. He recogido Mocha pero no es crítico para mí. Podría ser broma o cualquier otra cosa.
Escribí un test.js muy simple como este. No hace nada más que probar si toda la configuración funciona:
import foo from '../js/someModuleOfMine' const assert = require('assert') describe('Test Suite', () => { it('should at least run', () => { assert.equal(true, true) }) }) ejecutar mocha desde CLI me da este error:
import foo from '../js/someModuleOfMine' ^^^^^^ SyntaxError: Cannot use import statement outside a module Siguiendo algunos consejos, me cansé de agregar "type": "module" a mi package.json , pero solo cambió el error a algo aún más oscuro:
Error: Not supportedDefinitivamente me estoy perdiendo algo obvio, pero no puedo comprender qué.
No estoy seguro de si ayudará al OP, pero tuve el mismo problema y se debió a mecanografiado. Resolví de esta manera:
instalar ts-nodo:
npm install ts-node --save-dev agregue la línea require en la configuración de mocha (la tengo en el paquete.json, pero también se puede tener en el archivo .mocharc.json):
"mocha": { "spec": "./**/*test.ts", "ignore": "./node_modules/**", "require": "ts-node/register/files", "timeout": 20000 }