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.json
pero 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.