Saltar al contenido

Mocha + TypeScript: no se puede usar la declaración de importación fuera de un módulo

Este team de trabajo ha pasado horas investigando la respuesta a tu búsqueda, te compartimos la respuesta por esto deseamos serte de gran apoyo.

Solución:

Tuve el mismo problema y casi dejé de usar Mocha con TypeScript (en nuestro caso, Angular 9).

Esto es lo que me ayudó:

En tsconfig.json:

Reemplazó esto:

"module": "esnext", 

con este:

"module": "commonjs",

También aquí encontré un ejemplo funcional de Mocha con TypeScript y usé el tsconfig archivo de allí para comparar con el mío: https://medium.com/@RupaniChirag/writing-unit-tests-in-typescript-d4719b8a0a40

Pude probar gracias a @types/chai-http: no se puede usar la respuesta del problema de GitHub de importación de ES6.

Agregué un segundo archivo de configuración de TypeScript tscconfig.testing.json con la siguiente información:


    "compilerOptions": 
      "module": "commonjs",
      "target": "es2015",
      "lib": ["es2017"],
      "declaration": false,
      "noImplicitAny": false,
      "removeComments": true,
      "inlineSourceMap": true,
      "moduleResolution": "node"
    ,
    "include": ["scripts/**/*.ts", "src/**/*.ts", "node_modules/lodash-es/**/*.js"]
  

Entonces cambié mi package.json guiones como:

"test": "env TS_NODE_PROJECT="tsconfig.testing.json" mocha --require ts-node/register 'src/test/**/*.ts'",

Finalmente cambié el archivo de prueba como:

import * as chai from 'chai';
import 'chai-http';
import server from '../app';

// Assertions
chai.should();

chai.use(require('chai-http'));

Bueno, ejecutar las pruebas funciona ahora.

Aquí puedes ver las comentarios y valoraciones de los usuarios

Recuerda algo, que tienes la capacidad de agregar una reseña si diste con la respuesta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.