Я эффективно заменил карму / жасмин на шутку в угловом проекте, и тесты работают отлично .... но:
Я не удалял жасмин (это нужно транспортиру), и теперь я сталкиваюсь с проблемой, что, если я использую spyOn
вместо jest.spyOn
в моих спецификациях, он использует шпион жасмина, а не шутку (которые реализованы по-разному). Это большой опыт разработчиков, и я хотел бы просто полностью удалить жасмин из моих модульных тестов, но я понятия не имею, как.
Как мне настроить мой tsconfig.spec.json, чтобы исключить жасмин во время компиляции моих файлов спецификаций?
Я использую jest-preset-angular
, который использует ts-jest
.
Если я не включил достаточно информации, пожалуйста, не стесняйтесь меня допрашивать!
Это мой tsconfig.spec.json
файл:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"module": "commonjs",
"target": "es5",
"baseUrl": ""
},
"files": [
"test.ts",
"polyfills.ts"
],
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
}
Это мой tsconfig.json
файл:
{
"compileOnSave": false,
"compilerOptions": {
"importHelpers": true,
"outDir": "./dist/out-tsc",
"baseUrl": "public",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types" <-- jasmine types are in here too!
],
"lib": [
"es2016",
"dom"
],
"module": "es2015"
}
}
Мой конфиг jest говорит ts-jest
использовать мой tsconfig.spec.json
файл, подобный этому:
"globals": {
"ts-jest": {
...
"tsConfig": "<rootDir>/public/tsconfig.spec.json" <-- here!
}
}