Обновленная версия

Здесь есть обновленная версия этой статьи:



Сценарий

Нам нужно модульное тестирование исходного кода Angular с помощью Jest.

Подход

Создайте новый проект Angular:

ng new jestproject
cd jestproject
ng add @briebug/jest-schematic

Теперь замените app.component.spec.ts тестовое содержимое следующим:

it("can run a test", () => {
    expect(1).toEqual(1);
});

Теперь запустим тест с npx jest:

ole@mkt:~/$ npx jest
 PASS  src/app/app.component.spec.ts
  ✓ should constructor initialize the store (3ms)
Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        3.063s
Ran all test suites.

Angular библиотеки

Если мы добавим в проект «Вымышленную» optimization библиотеку с:

ng g library optimization

Затем нам также нужно поместить jest.config.js в папку библиотеки optimization, которая также содержит package.json для библиотеки:

module.exports = {
"roots": [
"<rootDir>/src/lib/"
],
testMatch: [
"**/__tests__/**/*.+(ts|tsx|js)",
"**/?(*.)+(spec|test).+(ts|tsx|js)"
],
"transform": {
"^.+\\.(ts|tsx)$": "ts-jest"
}
}