Обновленная версия
Здесь есть обновленная версия этой статьи:
Сценарий
Нам нужно модульное тестирование исходного кода 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" } }