Saltar al contenido

Configure la configuración de pruebas globales de Jest con el archivo .ts (TypeScript)

Te traemos la contestación a este atasco, o por lo menos eso deseamos. Si tienes alguna pregunta puedes dejarlo en el apartado de preguntas y sin dudas

Solución:

Encontré una solución.

La estructura inicial de mi proyecto era:

.
|--src
|  |--service.ts
|--tests
|  |--service.test.ts
|--dist
|--tsconfig.json 
|--package.json

Configuración de Jest en package.json:

"jest": 
  "globals": 
    "ts-jest": 
      "tsConfigFile": "tsconfig.json"
    
  ,
  "moduleFileExtensions": ["ts","js"],
  "transform": tsx)$": "./node_modules/ts-jest/preprocessor.js"
  ,
  "testMatch": [
    "**/tests/**/*.test.(ts

Con esta configuración ts-jest realizar en memoria la transpilación de los archivos .ts. tengo outDir opción en compilerOptions de mi tsconfig.jsonpero no hay nada escrito en ese outDir y porque no puedo usar jest-config.js transpilado

Luego muevo la carpeta de pruebas en src y cambio la configuración de Jest. La nueva estructura del proyecto es:

.
|--src
|  |--service.ts
|  |--tests
|     |--service.test.ts
|     |--jest-config.ts
|--dist
|--tsconfig.json 
|--package.json

La nueva configuración de Jest es:

"jest": 
  "globalSetup": "./dist/tests/jest-config.js",
  "moduleFileExtensions": ["ts", "js", "json"],
  "testMatch": [
    "**/dist/**/*.test.js"
  ],
  "testEnvironment": "node"

Ahora puedo usar jest-config.js para la configuración global en Jest.

Suma

  • El archivo de configuración de Jest (en mi ejemplo, jest-config.js) debe exportar una función asíncrona:

    module.exports = async function() ...

  • Antes de ejecutar las pruebas, debe compilar los archivos .ts de origen.

Te mostramos comentarios y valoraciones

Acuérdate de que te concedemos decir si te fue de ayuda.

¡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. Los campos obligatorios están marcados con *