Я действительно рекомендую использовать Jest Builder , если вы хотите переключиться на Jest в своем проекте Angular CLI.У нас только что был переход от Кармы к Джесту в одном из наших проектов, это сработало как шарм.Для справки, вот минимальные шаги для перехода на Jest в новом проекте:
Создание проекта
$ ng new myapp
$ cd myapp
Удаление зависимостей Кармы, файл конфигурации и test.ts
:
$ yarn remove karma karma-chrome-launcher karma-coverage-istanbul-reporter karma-jasmine karma-jasmine-html-reporter
$ rm src/karma.conf.js src/test.ts
Установите Jest Builder, создайте файл конфигурации:
$ yarn add --dev jest @angular-builders/jest
$ touch src/jest.config.js
Переключитесь на commonjs
в src/tsconfig.spec.json
:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"module": "commonjs",
"types": [
"jasmine",
"node"
]
},
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
}
Переключиться на Jest Builder в angular.json
:
{
...
"test": {
"builder": "@angular-builders/jest:run",
"options": {
"styles": [
"src/styles.css"
],
"scripts": [],
"assets": [
"src/favicon.ico",
"src/assets"
]
}
},
...
}
Теперь вы будетезапустить тесты с Jest:
$ ng test
PASS src/app/app.component.spec.ts
AppComponent
✓ should create the app (223ms)
✓ should have as title 'myapp' (80ms)
✓ should render title in a h1 tag (70ms)
Test Suites: 1 passed, 1 total
Tests: 3 passed, 3 total
Snapshots: 0 total
Time: 3.704s
Ran all test suites.