UI Testing
Run only a few / a single test
$ npx jest --help --testNamePattern, -t Run only tests with a name that matches the regex pattern. [string] $ grep describe dish-store.service.spec.ts describe('DishStoreService Hase Horst', () => { $ gnpx jest -t hase PASS src/app/dishes/dish-store.service.spec.ts
See also Run only ONE test with Jest
Migrating from Karma to Jest
-
How to Set Up Angular Unit Testing with Jest (good article)
install deps
yarn add jest jest-preset-angular @types/jest --dev
jest.config.js
const { pathsToModuleNameMapper } = require('ts-jest/utils'); const { compilerOptions } = require('./tsconfig'); module.exports = { preset: 'jest-preset-angular', roots: ['<rootDir>/src/'], testMatch: ['**/+(*.)+(spec).+(ts)'], setupFilesAfterEnv: ['<rootDir>/src/test.ts'], collectCoverage: true, coverageReporters: ['html'], coverageDirectory: 'coverage/my-app', moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths || {}, { prefix: '<rootDir>/' }) };
src/test.js
import 'jest-preset-angular'; Object.defineProperty(window, 'CSS', {value: null}); Object.defineProperty(window, 'getComputedStyle', { value: () => { return { display: 'none', appearance: ['-webkit-appearance'] }; } }); Object.defineProperty(document, 'doctype', { value: '<!DOCTYPE html>' }); Object.defineProperty(document.body.style, 'transform', { value: () => { return { enumerable: true, configurable: true }; } });
Jest | TypeError: window.URL.createObjectURL is not a function #9889
npx jest --unhandled-rejections=strict
remove karma part 1
yarn remove karma karma-chrome-launcher karma-coverage karma-jasmine karma-jasmine-html-reporter