Конфигурация Jest в angular

RedDeveloper
22.03.2023 08:25
Конфигурация Jest в angular

В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.

Вот все шаги по настройке jest в angular

  • Создайте проект Angular или существующий проект
  • Деинсталлируйте весь пакет karma jasmine
  • Удалите тестовый объект из angular.json
  • Удалите файл karma.config.js и файл test.ts
  • npm install jest @types/jest jest-preset-angular
  • Создайте файл setup.jest.ts
  • Обновите файл tsconfig.spec.json
  • Добавьте конфигурацию jest в package.json
  • Добавить скрипты в package.json для запуска jest

Шаг 1: Создайте ангулярный проект

ng new jestAngular

Шаг 2: Удалите все пакеты karma jasmine

Перейдите в файл Package.json и удалите все эти пакеты

Перейдите в файл Packagejson и удалите все эти пакеты

Команда для удаления пакетов karma и jasmine

Npm uninstall @types/jasmine jasmine-core karma karma-chrome-launcher karma-coverage karma-jasmine karma-jasmine-html-reporter

После удаления пакетов ваш файл package.json выглядит следующим образом.

package.json после удаления пакетов karma и jasmine
package.json после удаления пакетов karma и jasmine

Шаг 3: Удалите тестовый объект из angular.json

После удаления пакетов ваш файл packagejson выглядит следующим образом

Шаг 4: Удалите файл karma.config.js и файл test.ts

Если в вашем ангулярном проекте есть эти два тестовых файла, просто удалите их

Удалите файл test.ts
Удалите файл test.ts
Удалить karma.config.js
Удалить karma.config.js

Шаг 5: Установите пакет jest в ваш проект

npm install --save-dev @types/jest jest jest-preset-angular
файл package.json после установки jest
файл package.json после установки jest

Шаг 6: создайте пустой файл typescript в папке app

Если в вашем ангулярном проекте есть эти два тестовых файла просто удалите их

Импортируйте модуль jest в файл setup.jest.ts

импортирование модуля jest
импортирование модуля jest

Шаг 7: Обновление файла ts.config.spec.json

Перед файлом ts.config.spec.ts
Перед файлом ts.config.spec.ts
после модификации ts.config.spect.ts
после модификации ts.config.spect.ts

Шаг 8: Добавьте конфигурацию в package.json

  "jest": {
    "preset": "jest-preset-angular",
    "setupFilesAfterEnv": [
      "<rootDir>/src/setup.jest.ts"
    ],
    "testPathIgnorePatterns": [
      "<rootDir>/node_modules/",
      "<rootDir>/dist/"
    ],
    "globals": {
      "ts-jest": {
        "tsConfig": "<rootDir>/tsconfig.spec.json",
        "stringifyContentPathRegex": "\\.html$"
      }
    }
  }

 "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage"
  },
конфигурация jest в файле package.json
конфигурация jest в файле package.json
настройка скриптов запуска jest
настройка скриптов запуска jest
запуск теста с помощью npm run test
запуск теста с помощью npm run test

Шаг 9: Запустите файл теста

Запустите файл теста с помощью команды npm run test.

Запустите файл теста с помощью команды npm run test

Поздравляю. настройка тестирования jest завершена. в следующей статье я покажу вам различные функции и команды jest.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.